首先看下vue中的用法:
<div id="root">
<p>now is: "{{ method_now() }}"</p>
<p>cnow is: "{{ computed_now}}"</p>
</div>
var vm = new Vue({
el: '#root',
data:'',
methods:{
method_now(){
return Date.now();
}
},
computed:{
computed_now: function () {
return Date.now();
}
}
})
百科解释:我们可以使用 methods 来替代 computed,效果上两个都是一样的,而使用 methods ,在重新渲染的时候,函数总会重新调用执行。
通俗点儿讲就是computed自带缓存,方法里面的属性值会放置到缓存中,如果属性值不发生改变,多次调用时会直接从缓存中取值,相比而言,method 每次调用都会执行该函数,computed提供缓存就是为了海量数据时提高性能。