【发布时间】:2019-02-20 12:43:15
【问题描述】:
重新加载页面后无法将 mapState 的值分配给 data 属性,如果您转到子页面,它可以工作,但如果您已经站在子页面并重新加载浏览器,则不能。
计算的地图状态
computed: {
...mapState({
tsStore: state => state.SchemeStore
})
}
数据属性
data () {
return {
works: '',
offTime: '',
}
}
已安装
if (this.tsStore.singleView) {
// Set data based on api.
let single = this.tsStore.singleView
this.works = single.works
this.offTime = single.offTime
}
重新加载works 和offTime 后,数据属性为空。
【问题讨论】:
-
它现在似乎可以工作了,我将
mounted挂钩内的代码移到了updated挂钩。任何人都可以确认这是正确的方法吗? -
我认为 Vuex 商店中的
single.works和single.offtime是在组件安装后加载的。是的,您可以使用updated钩子,或使用观察者。我认为您最好将works和offTime设置为与tsStore.singleView.works和tsStore.singleView.offTime分开的计算属性。
标签: vue.js vuejs2 vue-component vuex