我需要根据根组件中的data
变量加载不同版本的状态。
App.vue:
export default {
store : store,
name: 'app',
data() {
clientId : 1
}
}
store.js:
export const store = new Vuex.Store({
state : {
clientConfig : clientConfig
});
clientConfig
将存储在单独的文件中。
根据初始Vuejs应用程序的一些输入,实现动态/程序化加载Vuex状态的最佳方法是什么?
谢谢!
答案 0 :(得分:1)
这是一个可能的解决方案:
export const store = new Vuex.Store({
state : {
clientConfigs :{
"1": clientConfig1,
"2": clientConfig2
},
clientId: "1"
},
getters: {
currentClientConfig: state => {
return state.clientConfigs[state.clientId]
}
},
mutations: {
setClientId (state, newValue) {
state.clientId = newValue
}
}
});
在您的组件中,您可以通过this.$store.getters.currentClientConfig
要更新clientId
,您可以使用突变。在组件中,您可以使用
this.$store.commit('setClientId', yourNewClientId)