Vuex getter 不会更新
Vuex getter will not update
我正在使用日期选择器设置 moment.js
在我的 Vuex 商店中设置的日期:
商店状态:
const state = {
arrival: '',
departure: ''
}
吸气剂:
const getters = {
arrival: state => state.arrival,
departure: state => state.departure,
prettyArrival: (state) => {
if (state.arrival instanceof moment) {
return state.arrival.format(state.prettyFormat);
}
return '';
}
}
我的 vuex 存储正在正确更新到达状态(这是一个 moment.js
对象),因为我可以清楚地看到显示更新和原始状态发生变化的开发工具。
prettyArrival 没有正确更新。当到达从空字符串变为 moment.js
对象时,它只会被设置一次。
我的到来getter在devtools中显示如下:
arrival:"2017-07-21T09:15:53.770Z"
当我记录它时,我得到了 moment.js
对象,尽管它似乎包含 reactiveGetters
和 reactiveSetters
,所以反应似乎到位了。
我的 getter 设置有问题还是这里有其他问题?
欢迎提供任何提示,如果您需要更多信息,请告诉我。
解决方案就在这个答案中:
我认为情况并非如此,因为我仍有一些输入正在正确更新。我是如何让它工作的仍然是我需要解开的谜。
moment.js 实例不是反应式的,因此您可以通过将 moment.js 实例放入构造函数来修复它,并在每次设置时创建一个新实例,如下所示:
moment(this.currentDate)
在这种情况下,this.currentDate
是一个 moment.js 实例。
我正在使用日期选择器设置 moment.js
在我的 Vuex 商店中设置的日期:
商店状态:
const state = {
arrival: '',
departure: ''
}
吸气剂:
const getters = {
arrival: state => state.arrival,
departure: state => state.departure,
prettyArrival: (state) => {
if (state.arrival instanceof moment) {
return state.arrival.format(state.prettyFormat);
}
return '';
}
}
我的 vuex 存储正在正确更新到达状态(这是一个 moment.js
对象),因为我可以清楚地看到显示更新和原始状态发生变化的开发工具。
prettyArrival 没有正确更新。当到达从空字符串变为 moment.js
对象时,它只会被设置一次。
我的到来getter在devtools中显示如下:
arrival:"2017-07-21T09:15:53.770Z"
当我记录它时,我得到了 moment.js
对象,尽管它似乎包含 reactiveGetters
和 reactiveSetters
,所以反应似乎到位了。
我的 getter 设置有问题还是这里有其他问题?
欢迎提供任何提示,如果您需要更多信息,请告诉我。
解决方案就在这个答案中:
我认为情况并非如此,因为我仍有一些输入正在正确更新。我是如何让它工作的仍然是我需要解开的谜。
moment.js 实例不是反应式的,因此您可以通过将 moment.js 实例放入构造函数来修复它,并在每次设置时创建一个新实例,如下所示:
moment(this.currentDate)
在这种情况下,this.currentDate
是一个 moment.js 实例。