【发布时间】:2018-11-11 15:07:13
【问题描述】:
我正在使用vuejs2、vuex 和typescript 在visual-studio-code 中构建应用程序。我安装了vetur 扩展。我已经为我的大部分项目构建了一个定义文件来为我提供智能感知,但我无法弄清楚如何将我的 vuex 存储添加到智能感知。我已经阅读了Definition Documentation,但我无法一起思考如何做到这一点。我的目标是能够对this.$store. 中的任何内容进行智能感知。目前,vetur 为state、getters 等提供智能感知,但不为下一级(例如this.$store.state.TestVariable)提供智能感知。如何为我的vuex 商店获取智能感知?
合同管理商店
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
Contract: new Library.Model.Entity.Contract()
}
});
合约组件
<template>
<contract-line></contract-line>
</template>
<script lang="ts">
import Vue from 'vue';
import Vuex from 'vuex';
import store from '../store/ContractManagementStore';
import ContractLine from "./ContractLine.vue";
export default Vue.extend({
name: 'contract-management',
store,
components: {
'contract-line': ContractLine
}
});
</script>
<style>
</style>
合同线组件
<template>
<button v-if="CanDelete"></button>
</template>
<script lang="ts">
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default Vue.extend({
computed:{
CanDelete(): Boolean {
// Looking for intellisense after this.$store.state.
return this.$store.state.Contract.ContractStatus.Value === Library.Enums.ContractStatus.Draft
}
}
});
</script>
<style>
</style>
【问题讨论】:
标签: vuejs2 vuex typescript visual-studio-code vetur vuex vetur vuex typescript visual-studio-code vuejs2 vuex vetur