【发布时间】:2019-05-18 03:40:55
【问题描述】:
我有一个名为 monRaw 的数据变量,它是一个 Moment 对象,代表本周的第一天:
...
data() {
return {
monRaw: moment().startOf('isoWeek')
}
},
...
然后我有一个名为 weekTitle 的计算属性,它与一些文本一起显示(它在我的项目中做得更多,但我在这里对其进行了简化):
...
computed: {
weekTitle: function() {
alert('updating computed property...');
return `Current week starting on ${this.monRaw.format('DD')}`;
}
},
...
最后,名为viewNextWeek() 的方法将我的数据变量更改为下一周的第一天:
...
methods: {
viewNextWeek: function() {
this.monRaw = this.monRaw.add(1, 'weeks');
},
...
在我的模板中,我显示了我的计算属性以及触发我的方法的按钮:
{{ weekTitle }}
<button @click="viewNextWeek">Next Week</button>
但由于某种原因,当我更改它所基于的数据变量时,我的计算属性没有得到更新。
它甚至没有尝试:我的alert() 仅在页面加载时触发,之后单击按钮时不再触发。
这里有什么问题?
【问题讨论】:
标签: vue.js computed-properties