前段面试题(2)

1.vuex 的 getter 特性是什么

getter 可以对 state 进行计算操作,它就是 store 的计算属性
虽然在组件内也可以做计算属性,但是 getter 可以在多给件之间复用
如果一个状态只在一个组件内使用,是可以不用 getters

 2.vue2.x中如何监测数组变化

使用了函数劫持的方式,重写了数组的方法,Vue将data中的数组进行了原型链重写,指向了自己定义的数组原型方法。
这样当调用数组api时,可以通知依赖更新。如果数组中包含着引用类型,会对数组中的引用类型再次递归遍历进行监控。
这样就实现了监测数组变化

 3.可以被vue拦截到的数组方法以及不能被拦截到的数组方法?

 会:push() pop() shift() unshift() splice() sort() reverse()  会检测变动 进行页面更新
 不会:filter() concat() slice() map()  新数组替换旧数组 不会改变原数组,页面不更新 不会被拦截
Vue.set / this.$set  强制更新

 4.Vue性能优化?

  1. 尽量减少data中的数据,data中的数据都会增加getter和setter,会收集对应的watcher
  2. SPA 页面采用keep-alive缓存组件
  3. 在更多的情况下,使用v-if替代v-show
  4. 使用路由懒加载、异步组件
  5. 第三方模块按需导入
  6. 图片懒加载

 5.谈谈单页面(SPA)的理解

 SPA( single page application )仅在 Web 页面初始化时加载相应的 HTML、   JavaScript 和 CSS。
一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转
而页面的变化是利用路由机制实现 HTML 内容的变换,避免页面的重新加载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值