vuex使用
store/index.js如下
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
name:''
},
getters: {
name:(state)=>{
return state.name
}
},
mutations: {
changeName (state,aname) {
state.name=aname
}
},
actions: {
}
})
export default store
我们项目中有一个utils.js,在该文件中使用获取store的值为空
import store from '@/store/index.js
function test(){
console.log(store.getters.name);//打印出来为空
}
在首页nvue页面里
<template>
<view>
你好,{{name}}
<view class="container" @click="test()">
点击修改名字
</view>
</view>
</template>
<script>
import { mapGetters,mapMutations } from 'vuex'
export default {
data() {
return {}
},
computed:{
...mapGetters([
'name'
])
},
methods: {
//方法
...mapMutations([
'changeName'
]),
test(e){
this.changeName('test');
console.log(this.$store.getters.name);//打印出来为:test
}
}
}
</script>
<style>
</style>
问题:为什么外部js文件中的store.getters.name和vue页面的this.$store值不一样? 在外部JS文件中要怎么获取到正确的值?
4***@qq.com (作者)
hello uni-app好像没有在单独的js文件中使用
2021-06-07 16:55