#typescript #vuex #vuejs3 #vuex-modules #vuex4
Вопрос:
Я использую модульный магазин vuex, для каждого модуля приложения есть собственный магазин, я хочу выполнить действие моего магазина vuex, состояние, изменение и действие создаются, но когда я выполняю действие в представлении, у меня возникает ошибка: свойство «loadItems» не существует для типа » {методы: { loadItems: Метод действия; }; смонтировано(): пусто; }
Индекс.vue:
<template>
<h1> table page </h1>
</template>
<script lang="ts">
// import store from "@/modules/table/store";
import { mapActions } from 'vuex';
export default {
methods: {
...mapActions([
'loadItems'
])
},
mounted (){
this.loadItems();
}
}
</script>
магазин/индекс.ts:
import { createStore } from 'vuex'
import axios from 'axios'
export default createStore({
state: {
items: [],
},
mutations: {
SET_Item (state, items) {
state.items = items
}
},
actions: {
loadItems ({ commit }) {
axios
.get('http://127.0.0.0/api/vendor/index/', {
headers: {
"Content-Type": "application/json",
Authorization: "Bearer " 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJpc3NhbSIsImlhdCI6MTYzMjEyNjQ2'
},
})
.then(response => response.data)
.then(items => {
console.log('items is:',items);
commit('SET_Items', items)
})
}
},
});
shims-vuex.d.ts:
/* eslint-disable */
declare module '*.vue' {
import type { DefineComponent } from 'vue'
const component: DefineComponent<{}, {}, any>
export default component
}