【发布时间】:2021-10-13 08:58:38
【问题描述】:
我有一个 Nuxt 应用程序,其中有一个类似于此文件夹的 store 目录
https://nuxtjs.org/docs/2.x/directory-structure/store#example-folder-structure.
假设我在cart 文件夹内的模块状态中有一个属性isComplete。
我收到以下错误 Property 'shop' does not exist on type 'RootState'.
如何在 Vue 组件中访问此属性?
Component.vue
<script lang="ts">
import { defineComponent, onMounted } from '@nuxtjs/composition-api'
import { useStore } from '~/store'
export default defineComponent({
name: 'Component',
setup() {
const store = useStore()
onMounted(() => {
if (store.state.shop.cart.isComplete) {
// Execute some code
}
})
},
})
</script>
我的store/index.ts 有以下实现
import { InjectionKey, useStore as baseUseStore } from '@nuxtjs/composition-api'
export interface RootState {}
export const state = () => ({})
export const injectionKey: InjectionKey<RootState> =
Symbol('vuex-injection-key')
export const useStore = () => {
return baseUseStore(injectionKey)
}
store/shop/cart/state.ts
export interface CartState {
isComplete: boolean
}
export const state = (): CartState => ({
isComplete: false,
})
【问题讨论】:
标签: javascript typescript vue.js nuxt.js vuex