我看官方文档上说:
computed
和methods
的区别是,computed
会基于它们的依赖进行缓存,如果数据没法改变则computed
刷新时不会重新执行,而methods
则会每次执行。
but我写的例子并不是这样(写的是官方的例子)。
html:
<p id="app">
<p>{{methodsNow()}}</p>
<p>{{computedNow}}</p>
</p>
javascript:
new Vue({
el:'#app',
data:{
},
methods:{
methodsNow:function(){
return new Date().toLocaleString();
}
},
computed:{
computedNow:function(){
return new Date().toLocaleString();
}
}
});
大家来探讨一下,我是不是哪里写错了?
你的例子对于描述二者不同这点上,没有帮助。给你看这个例子:JSFiddle
你这样测试下就明白了
html:
javascript:
结果你发现computedNow执行了一次,methodsNow执行了两次