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