19新版教育培训风格演示站

标题: 官网没有相关文档,vuex分了module后如何在组件内使用...mapState['']方式使用state? [打印本页]

作者: Tommy子言    时间: 2019-1-10 17:40
标题: 官网没有相关文档,vuex分了module后如何在组件内使用...mapState['']方式使用state?
首先,为啥我连一个module的都获取不了啊;
下图为我的store结构


(, 下载次数: 57)

组件内部分代码


  1. import {createNamespacedHelpers} from 'vuex'

  2. const {mapState} = createNamespacedHelpers('user')

  3. //user module的state里面有一个user
  4. ...mapState(['user']),
复制代码



控制台报错 [vuex] module namespace not found in mapState(): user/
首先一个module的都获取不了,更别说多个了,
多个我的思路是 重命名 mapstate 网上搜了下使用 mapState:userMapState这样就行了
但是为啥我这个获取不了user啊


作者: 李政一    时间: 2019-1-10 17:41
  1. const {mapState} = createNamespacedHelpers('user')
复制代码


这一行就已经获取到了user,其中mapState存的就是user的state。
作者: 墨染ART    时间: 2019-1-10 17:43
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'

  3. import user from './module/user'
  4. import app from './module/app'

  5. Vue.use(Vuex)

  6. export default new Vuex.Store({
  7.   state: {
  8.     //
  9.   },
  10.   mutations: {
  11.     //
  12.   },
  13.   actions: {
  14.     //
  15.   },
  16.   modules: {
  17.     user,
  18.     app
  19.   }
  20. })
复制代码


在你的main.js里 :

  1. import store from './store';
  2. new Vue({
  3.   el: '#app',
  4.   router,
  5.   i18n,
  6.   store,
  7.   render: h => h(App)
  8. })  
复制代码


然后在你的组件里:

  1. import { mapMutations, mapActions, mapGetters } from 'vuex';
  2. //
  3. ...mapGetters([])
复制代码


你是按照这个步骤来的吗?
作者: 匿名    时间: 2022-3-7 17:52
数组属于特殊类型不能这样定义的




欢迎光临 19新版教育培训风格演示站 (http://47.100.112.22/demo/train/) Powered by Discuz! X3.5