首页 新闻 会员 周边 捐助

如何使用vue.js中的$watch

0
[已解决问题] 解决于 2017-03-13 20:42

看了下官方文档中的$watch用法,但是自己练习了下,发现没啥效果。下面是代码。

<div id="app">
  <span v-on:click="change">{{value}}</span>
</div>
<script src="vue.js"></script>
<script>

var vm = new Vue({
  el:"#app",
  data:{
    value:0,
    value2:1
  },
  methods:{
    change:function(){
      return 3;
    }
  },
  watch:{
    value:this.change
  }
});
</script>

我是哪里写错了么?麻烦大神帮我看看,能更详细的说下$watch的用法。谢谢

流炎飞雪的主页 流炎飞雪 | 初学一级 | 园豆:6
提问于:2017-03-09 17:02
< >
分享
最佳答案
1

watch:{
    value:{

    

handler:function(newval,oldval){console.log('...........',newval,oldval)}

  

}
  }

奖励园豆:5
czd890 | 专家六级 |园豆:14488 | 2017-03-09 21:43

感谢你的回复。这个handler属性确实没看到,受教受教。另外,我后来了解到和自己的测试来看,watch后面只能是跟函数或者你这种对象。所以我总结了下,写了下面这个例子,不知道算不算是真的理解了。

流炎飞雪 | 园豆:6 (初学一级) | 2017-03-11 22:09

@流炎飞雪: 

{

deep:true,//还可以加一个deep,表示跟踪所有对象下的属性。

handler:function(){}

}

czd890 | 园豆:14488 (专家六级) | 2017-03-13 12:22

@calvinK: 感谢你的再次回答,这个属性我测试了下,对于data中的数据是对象的情况,确实是必不可少。

流炎飞雪 | 园豆:6 (初学一级) | 2017-03-13 20:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册