我正在创建一个自定义模块,该模块将获取“ afterRegistration
”挂钩中的数据,并将结果保存到存储中。
状态已更新(可以在VueDevTools中看到更新),但是组件仍为默认状态。我在做什么错了?
// afterRegistration
export function afterRegistration ({Vue, config, store, isServer}) {
store.dispatch(${KEY}/isVisible)
}
// component
export default {
name: 'Test',
components: { Fragment },
props: {
…
},
computed: {
isVisible: el => el.$store.getters['myModule/simpleTest']
}
}
答案 0 :(得分:0)
您失去了反应性。将状态对象中的simpleTest
的初始值设置为您喜欢的任何值(从上下文中我看到它是Boolean
)。如果该字段不是初始状态,则没有该方法的吸气剂或塞特阀。
答案 1 :(得分:0)
好吧,我发现我需要在AsyncLoader中调度
// afterRegistration
export function afterRegistration ({Vue, config, store, isServer}) {
AsyncDataLoader.push({
execute: ({ route, store, context }) => {
return new Promise ((resolve, reject) => {
store.dispatch(`${KEY}/getInlineTranslationConfig`)
.then(() => resolve(null))
})
}
})
现在可以了!