$set()方法--更新数组时触发视图更新
vue中 有这种情况: 如果在实例创建之后添加新的属性到实例上,它不会触发视图更新例如: 1.当你利用索引直接设置一个项时this,arr[2]=‘美女’2.当你修改数组的长度时this.arr.length=10$set()方法解决:this.$set(this.arr,2,'美女')...
·
vue中 有这种情况: 如果在实例创建之后添加新的属性到实例上,它不会触发视图更新
原因:vue1.0的变化侦测缺点:
1.对象的新增和删除无法侦测
2.数组的 arr.length=0修改数组长度以及arr[0]='1’赋值 这两个无法侦测;
vue提供了
s
e
t
,
set,
set,delete方法
// $set
{Object | Array} target
{string | number} propertyName/index
{any} value
this.$set(this.arr,2,'美女')
// delete
{Object | Array} target
{string | number} propertyName/index
this.$delete(this.arr,2)
vue2.0变化侦测只通知到组件,在组件内部使用了虚拟dom,通过与上一个缓存的虚拟节点比对,找出改变状态的节点进行重新渲染
更多推荐
已为社区贡献12条内容
所有评论(0)