我正在使用vuejs2、vuex和typescript在visual -studio-code中构建应用程序。我安装了vetur扩展。我已经为我的大部分项目构建了一个定义文件来为我提供智能感知,但我一直无法弄清楚如何将我的vuex存储添加到智能感知。我已经通读了定义文档,但我无法一起思考如何做到这一点。我的目标是能够在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>