vue首次赋值不触发watch(deep immediate handler)

deep:默认值是 false,代表是否深度监听。
immediate:true代表如果在 wacth 里声明了之后,就会立即先去执行里面的handler方法,如果为 false就跟我们以前的效果一样,不会在绑定的时候就执行。

 watch: {
  a: function (val, oldVal) {
    console.log('new a: %s, old: %s', val, oldVal)
  },
  // 方法名
  b: 'someMethod',
  // 深度 watcher
  c: {
    handler: function (val, oldVal) {
      console.log('new c: %s, old: %s', val, oldVal)
    },
    deep: true
  },
  // 该回调将会在侦听开始之后被立即调用
  d: {
    handler: function (val, oldVal) {
      console.log('new d: %s, old: %s', val, oldVal)
    },
    immediate: true
  }

 

posted @ 2018-07-26 18:06  南珂丶一梦  阅读(3274)  评论(2编辑  收藏  举报