10.vue2.x之vue2.x的实例方法 / 数据

vue2.x之vue2.x的实例方法 / 数据

vm.$watch

vm.$watch( expOrFn, callback, [options] )
返回值:{fn} unwatch
expOrFn:字符串或者函数类似。为字符串时,表示侦听的对象。为函数时,函数返回依赖的data或者computed组成的表达式。
callback:回调函数,当expOrFn变化时,其都会重新执行。
options:选项,包含{boolean} deep,{boolean} immediate。deep为true时,可以监听到对象内部值的变化。immediate为true时,将立即以expOrFn的当前值触发callback。
unwatch:返回值为一个取消侦听的函数。

...
const unwatch=vm.$watch(
  function () {
    // 表达式 `this.a + this.b` 每次得出一个不同的结果时
    // 处理函数都会被调用。
    // 这就像监听一个未被定义的计算属性
    return this.a + this.b
  },
  function (newVal, oldVal) {
    // 做点什么
    if(unwatch){
    	unwatch()//本次观察内部取消监听需要做判断
    }
  },
  {
	immediate:true,//立即执行callback
	deep:true//观察对象内部
}
)
...
vm.$set

vm.$set( target, propertyName/index, value )
作用:给对象或者数组添加响应式的数据。

应用场景:
1、当利用索引直接设置数组的某一项时,例如:vm.items[indexOfItem] =newValue,不会更新数组。
2、当你修改数组的长度时,例如:vm.items.length = newLength,不会更新数组。

    使用vm.$set( array, index, value )更新数组成员,便能够让添加的数据为响应式的数据。

vm.$delete

vm.$delete( target, propertyName/index )
作用:删除对象或者数组中的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值