在nvue页面中获取vuex中的state值,只能获取默认的值。vuex的值发生了变化在nvue中获取不到,请问这个改怎么处理呢,项目中大量使用的nvue

远望
- 发布:2021-07-17 17:59
- 更新:2021-07-17 18:24
- 阅读:1314

我曾经遇到过类似问题,更换了写法就可以了,具体参考下面代码
页面 store/index.js
import Vuex from 'vuex'
import Vue from 'vue'
import getters from './getters.js'
// modules
import app from './app/index.js'
Vue.use(Vuex)
const store = new Vuex.Store({
modules: {
app,
},
getters
})
export default store
页面 store/getters.js
export default {
vuex_publicKey: state => state.app.vuex_publicKey,
vuex_aesKey: state => state.app.vuex_aesKey,
vuex_aesEncryptKey: state => state.app.vuex_aesEncryptKey
}
页面 store/app/index.js
const state = {
vuex_publicKey: null,
vuex_aesKey: null,
vuex_aesEncryptKey: null,
}
const mutations = {
vuex_publicKey: (state, payload) => {
state.vuex_publicKey = payload;
},
vuex_aesKey: (state, payload) => {
state.vuex_aesKey = payload;
},
vuex_aesEncryptKey: (state, payload) => {
state.vuex_aesEncryptKey = payload;
}
}
export default {
namespaced: true,
state,
mutations
}
Nvue页面中使用
<template>
<view>
{{vuex_publicKey}}
{{vuex_aesKey}}
{{vuex_aesEncryptKey}}
</view>
</template>
<script>
import {
mapGetters,
mapMutations
} from 'vuex'
export default {
data() {
return {
}
},
computed: {
...mapGetters(['vuex_publicKey', 'vuex_aesKey', 'vuex_aesEncryptKey']),
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>
远望 (作者)
感谢回答,目前做法是把vuex挂载到了vue原型上和全局,这样vue和nvue中都能拿到了
2021-08-10 15:59
appnav
回复 远望: 请问如何操作,有示例代码吗,拿到的是vuex中最新的数据吗?可以获取到vuex中的值发生改变吗?我也遇到这个问题了,请问你是怎么解决的
2021-09-08 00:20