数组的更新检测
Vue 将被侦听的数组的变更方法进行了包裹,所以它们也将会触发视图更新。这些被包裹过的方法包括:
push() 数组的后面插入元素
pop() 从数组的后面删除一个元素
shift() 从数组的前面删除一个元素
unshift() 从数组的前面插入一个元素
splice() 数组的剪贴、插入、删除等操作
sort() 数组的排序
reverse() 数组的反转
vue.set(vm.user,“age”,18)vm.user.age = 18 发现视图没有任何改变
Vue.set(vm.user,“age”,18)
之前的name被vue实例进行挂载了,所以会动态的为其添加get与set方法, 数据劫持。数据改变 ==> set ==> watcher ==> 视图更新
但是后续vm.user.age = 18 这个属性,只是简单的数据改变,没有进行内部的数据劫持,去进行动态的添加get与set,数据改变了,但是视图不会更新。
怎么让其变成响应式的呢? vue当中提供了一个全局的api方法 Vue.set() ,就可以为动态添加的数据也会被vue管理,双向数据绑定了。