Vuex mapstate не определено - PullRequest
       20

Vuex mapstate не определено

0 голосов
/ 06 февраля 2020

У меня проблемы с использованием Vuex mapstate. Во время тестирования пишу это. $ Store.state.count, но я пытаюсь сократить имя до this.count. Мой vue проект глубоко вложен, поэтому я пытаюсь сделать переменные короткими и избегать использования «вычисляемых» и других функций внутри каждого компонента.

мой код

const store = new Vuex.Store({
    state: {
        count: 43,
    }

});
import { mapState } from 'vuex';


let app = new Vue({
    el: '#app',
    router: new VueRouter(routes),
    store,
    computed: mapState([
        'count'
    ]),
    data: {
        current_path: '/dashboard',
    },
});

Я также пытался:

computed: mapState({
    // arrow functions can make the code very succinct!
    count: state => state.count,

    // passing the string value 'count' is same as `state => state.count`
    countAlias: 'count',

    // to access local state with `this`, a normal function must be used
    countPlusLocalState (state) {
      return state.count;
    }
  })

Но в моем компоненте: когда я использую this.count или {{count}} (или countAlias, countPlusLocalState et c) в html, это возвращает ноль / неопределенное. Это работает только с полной ссылкой: this. $ Store.state.count.

Чего мне не хватает?

1 Ответ

1 голос
/ 06 февраля 2020

Вы можете использовать глобальный миксин , например:

Vue.mixin({
    computed: mapState([
        'count'
    ]),
})
...