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,通过与上一个缓存的虚拟节点比对,找出改变状态的节点进行重新渲染

Logo

前往低代码交流专区

更多推荐