У меня есть приложение vue и компонент. Компонент зарегистрирован и рендеринг просто отлично. Я просто импортировал Vuex, чтобы помочь с управлением государством. Я использую машинопись и vue -класс-декоратор для лучшей безопасности типов.
Мое приложение выглядит так: .ts
// load vuex stores
let store = require('./store/store.ts');
// register components here...
Vue.component('my-component', require('./components/MyComponent.vue'));
// initialize vue applications here...
const app = new Vue({
el: '#app',
store
});
Я могу console.log магазина и увидеть, что магазин действительно требуется правильно.
Вот мой магазин: .ts
import Vuex from 'vuex'
import Vue from 'vue'
Vue.use(Vuex);
export default new Vuex.Store({
state: {
active: false,
},
getters: {
isActive: state => state.active
}
});
Вот мой компонент: .ts
import { Vue, Component, Prop } from 'vue-property-decorator'
import axios from 'axios'
@Component
export default class MyComponent extends Vue {
@Prop(String) route?: string
resent: boolean = false
loading: boolean = false
// constructor
mounted (): void {
if (!this.route) {
throw new Error("The route property is missing");
}
}
get myActiveState (this :Vue): any {
console.log(this.$store);
return this.$store.getters.isActive;
}
}
Неважно, что я пытаюсь Я не могу получить доступ к государственной собственности магазинов. Я могу консольный журнал this.$store
, и я действительно получаю правильное хранилище, то же самое, если я устанавливаю точку останова и проверяю, я могу получить прямой доступ к активному свойству, но если я пытаюсь и консольный журнал this.store.state.active
или this.store.getters.isActive
, то я получить сообщение об ошибке.
[Vue warn]: Error in render: "TypeError: Cannot read property 'isActive' of undefined"
Я могу установить точку останова и проверить консоль, чтобы дважды проверить содержимое каждого свойства. Все выглядит хорошо. НО я не могу получить доступ к свойству с $store.state.active
Мне нужно сделать $store.default.state.active
.
Что здесь происходит? Почему я не могу получить доступ к состоянию, когда оно закодировано? Кроме того, попытка кода this.$store.default.state.active
выдает ошибку сборки property does not exist on type Store<any>