我正在尝试修改一个在vue.js
计算属性中的moment.js
实例,代码如下。
computed: {
currentDate() {
return moment();
}
}
每当我尝试使用这种方式调用它的方法时,什么也不会发生:
methods: {
prevMonth() {
this.currentDate = moment(this.currentDate).subtract(1, 'months');
}
}
我猜这是因为计算属性只允许作为getter(和可选的setter)。但我如何改变这种行为呢?
我过于简化了这个例子,因为我正在使用计算属性从我的vuex存储中获取数据。但是我不再能够操纵它。
有没有办法可以利用本地的currentDate属性来填充vuex存储的值,以便我仍然可以操纵它并添加月份等?
我考虑使用mounted属性来实现这一点,但我只挂载了一次组件。任何帮助都是受欢迎的。
this.prevMonth()
实际上是this.$store.commit('subtractMonth')
,因此每次调用该方法都会提交一个mutation。如果您的moment
实例在Vuex状态中,则只能通过突变状态来操作它。如果不是,那么您的问题缺少一些信息,我们无法提供理想的答案。 - Tomas Buteler