从Vue Typescript导入State(由javascript开发)



我的项目是由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总是未定义的

如何解决此问题?

不完全确定你的代码出了什么问题,但我用一种稍微不同的方式做了同样的事情,它起作用:

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。

相关内容

最新更新