计算属性
<div id="example">
<p>{{ now }}"</p>
</div>
<script>
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
},
computed: {
now: function () {
return Date.now()
}
}
})
</script>
方法
<div id="example">
<p>{{ now() }}"</p>
</div>
<script>
var vm = new Vue({
el: '#example',
methods: {
now: function () {
return Date.now()
}
}
})
</script>
区别
- 两者的执行结果是完全相同的
- 计算属性是基于他们的依赖进行缓存的,只有在相关依赖发生改变时,他们才会重新求值,也就是说,只要他的依赖没有发生变化,那么每次访问的时候计算属性都会立即返回之前的计算结果,不再执行函数
- 每次触发重新渲染时,调用方法将总会再次执行函数
- 上方两个例子,计算属性将总会返回相同值,而方法则不会