Используйте mapGetter и mapMutations в Vuex с машинописью без компонентов стиля класса sintax - PullRequest
0 голосов
/ 03 мая 2020

Я сделал проект с Vue, но начинаю немного запутываться без типов c. Я добавил машинопись в свой проект, но я хочу продолжать использовать «нормальный» способ написания своего кода (без классов и декораторов).

Я управлял всем своим хранилищем с машинописью, сохраняя «нормальный» способ , но с типами, теперь я хочу использовать mapGetters, mapMutations и mapActions в моих компонентах с использованием машинописи, но без компонентов стиля класса.

import Vue from 'vue';
import { mapGetters, mapActions } from 'vuex';

export default Vue.extend({
  methods: {
    ...mapActions('pictures', ['toggleFavorite']),
    anotherMethodExample: (pictureId: number): void {
      this.toggleFavorite(pictureId); // This line returns an error described bellow.
    },
  },
});

Возврат ошибки:

Property 'toggleFavorite' does not exist on type 'CombinedVueInstance<Vue, unknown, unknown, { index: unknown; isSelected: unknown; getToggleFavorite: any; /* another methods*/; }, Readonly<{ picture: any; }>>'.

Как я могу использовать mapGetters и mapActions без @Component способа? Мне действительно не нравится этот стиль "angular" для написания кода, я думаю, что лучше сохранять "нормальный" формат для чтения и постоянно обновлять, читая официальную документацию Vue.

Кто-то можете мне помочь?

Спасибо за это o /

...