坑一:

使用vuex有时会报如下的错误

here are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
Use equal casing. Compare these module identifiers

这是因为你引入vuex的时候有的地方首字母大写,有的地方首字母小写导致的,如下:

test1.vue这样引入

import {mapState,mapGetters,mapMutations,mapActions} from 'vuex'

在main.js又这样引入,注意划线部分大写了

import Vuex from 'Vuex';

总结:引入的时候,要么全首字母大写,要么全小写,否则会报以上错误

坑二:

当模块化vuex(及,使用它的modules属性)时,如下代码划线部分,在子模块中有一些state

import * as types from '../mutation-types'

const state={
	sWorkType:'你没选任何东西'
}


export default {
	state
}
在组件中这样的写法直接访问是访问不到的,如下代码

computed:{
            ...mapState([
                'sWorkType'
            ])
        },
        created(){
            console.warn(this.sWorkType)
        },
必须下面的方法才能访问到state,不知道为何,但奇怪的是getters又可以用上述方法访问

computed:{
            ...mapState([
                'sWorkType'
            ])
        },
        created(){
            console.warn(this.$store.state.orderDetail.sWorkType)
        },





Logo

前往低代码交流专区

更多推荐