从Vue-Typescript导入状态(由javascript开发)

时间:2018-11-16 02:12:51

标签: javascript typescript vue.js

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

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

不能完全确定您的代码有什么问题,但是我以略有不同的方式执行相同的操作,并且可以正常工作:

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。