vue中watch中的参数

watch在最初绑定的时候是不会执行的,只有绑定的值变化时才会响应监听,如果我们加上immediate: true;则可以实现返回调用方法,类似于钩子函数完成的功能。

<div id="main">
      <p>obj.a: {{obj.a}}</p>
      <p>obj.a: <input type="text" v-model="obj.a"></p>
</div>
 
new Vue({
  el: '#main',
  data: {
    obj: {
      a: 123
    }
  },
  watch: {
    obj: {
      handler(newValue, oldValue) {
         console.log('页面初始即调用');
      },
      immediate: true
    }
  } 
})

vue是检测不到对象属性的添加和删除的,如果我们想监听js对象属性的变化,我们可以用deep: true;来实现,具体代码和演示结果大家可以尝试一下。

posted @ 2020-08-18 20:01  Do丶  阅读(6975)  评论(0编辑  收藏  举报