我的项目是用Vue js开发的,它有用javascript开发的存储,我集成了用vue-typescript开发的新组件,这个组件中的所有脚本都是用typescript开发的。
为了导入状态变量,我尝试了两种方法
使用Vuex
import { mapGetters, mapState, mapActions, mapMutations, createNamespacedHelpers } from 'vuex'
@Component({
computed: {
...mapState([
'allowedUrls'
])
}
})未定义这种情况下的this.allowedUrls错误
使用Vuex-Class
import { State } from 'vuex-class'
@State allowedUrls: string[]在这种情况下,this.allowedUrls始终是未定义的
我如何解决这个问题?
发布于 2019-02-18 10:35:58
我不完全确定你的代码出了什么问题,但是我用一种稍微不同的方式做了同样的事情,并且它起作用了:
import { mapState } from 'vuex';
import RootState from '@/store/rootState';
@Component({
computed: mapState({
userFullName: (state: RootState) => state.user.fullName,
userEmail: (state: RootState) => state.user.email
})
})RooState是我针对vuex状态的类。我使用的是vue 2.5.17和vuex 3.0.1。
https://stackoverflow.com/questions/53330488
复制相似问题