Vue面试总结(二)
- vue双向绑定原理
- 通过Object.defineProperty劫持数据发生的改变,如果数据发生了改变了,触发update方法进行更新节点内容,从而实现了数据的双向绑定
- 数据劫持重写的7种方法:push,pop,shift,splice,unshift,reverse,sort,vue2修改数组的索引和长度不能触发视图的更新。
- diff算法
- 功能
- 提升性能
- 虚拟dom,把dom结构数据化
- snabbdom
- 虚拟dom是一个对象
- 新老节点替换是直接暴力删除的,如果要提升性能,需要加key
- 只能同级比较,不能跨层比较
- 谈一下MVVM框架
- 数据,视图,视图模型
- 数据对应data,视图对应template,视图模型对应new Vue({})
- 视图可以通过事件绑定的方式影响数据,数据可以通过数据绑定的方式影响视图,视图模型是将二者连起来的连接器