【发布时间】:2018-03-05 10:26:09
【问题描述】:
我有数
You have {{ keywordsLeft }} keywords left
在我的 Vue 中。
var u = new Vue({
el:'#app',
data:{
keywords:keywords,
user:user,
total_keywords:user.total_keywords,
},
computed: {
keywordsLeft: function () {
var left = total_keywords-keywords.length;
if(left<=0){
return 0;
} else {
return left;
}
}
},
methods: {
deleteKeyword: function(keyword){
var i = this.keywords.indexOf(keyword);
this.keywords.splice(i,1);
}
}
// rest of VUE code.
每当对数据进行更新时,计算值不会更新。我必须刷新页面才能做到这一点。我认为计算属性的目的是实时反应?我错过了什么吗?
我是否需要以某种方式显式更新它?重新计算是手动的?如果我很愚蠢,请原谅我,但如果不是自动完成,这似乎是一种浪费。还不如只使用 jquery 然后大声笑
【问题讨论】:
-
keywordsLeft: () => Math.max(0, total_keywords - keywords.length)怎么样?
标签: vue.js computed-properties