app.vue <template> <div class="app"> <h3> 在模板中直接使用 </h3> 姓名 : {{ $store.state.nameVuex }} 等级 : {{ $store.state.levelVuex }} 头像 : {{ $store.state.avtarURLVuex }} <h3> 计算属性(映射状态) : 数组写法 -- 只适合vue2 </h3> 姓名 : {{ nameVuex }} 等级 : {{ levelVuex }} 头像 : {{ avtarURLVuex }} <h3> 计算属性(映射状态) : 对象写法(防止跟data的命名冲突) -- 只适合vue2</h3> 姓名 : {{ snameVuex }} 等级 : {{ slevelVuex }} 头像 : {{ savtarURLVuex }} </div> </template> <script> // 映射函数 import { mapState } from 'vuex'; export default { computed:{ ...mapState(['nameVuex','levelVuex','avtarURLVuex']), ...mapState({ snameVuex:state =>state.nameVuex, slevelVuex:state =>state.levelVuex, savtarURLVuex:state =>state.avtarURLVuex }) } } </script>
store / index.js import { createStore } from 'vuex' export default createStore({ state: { nameVuex:'yjx', levelVuex:100, avtarURLVuex:'http' }, })