在0.12.8之前,计算属性的行为与getter类似 - 每次访问它时,都会重新评估getter函数。在0.12.8中,这已得到改进 - 计算属性被缓存并且仅在必要时才进行懒惰重新评估。
对于我当前的项目,我实际上需要在每次访问时重新评估一些属性。当前懒惰评估不起作用的原因是因为在我的一些属性中还有其他“动态变量”不在Vue.js的监视下。
答案 0 :(得分:2)
According to the official docs,尽管@Xethron和@ИльяЗеленько的早期答案在Vue 1.x之前都是正确的,但从那时起就不赞成使用基于方法的方法。
因此上述示例将与此不同:
computed: {
example: {
cache: false,
get () {
return Date.now() + this.msg
}
}
}
...对此:
methods: {
getExample () {
return Date.now() + this.msg
}
}
注意,我们现在将通过调用函数来访问模板中的值,因此:
<p>message: {{ example }}</p>
...需要这样:
<p>message: {{ getExample() }}</p>
答案 1 :(得分:0)
您可以使用@Xethron中的方式,但可以使用函数的简短语法:
computed: {
example: {
cache: false,
get () {
return Date.now() + this.msg
}
}
}