Как вызвать метод Vuex из жизненных циклов - PullRequest
0 голосов
/ 29 мая 2020

У меня есть следующая функция в действиях Vuex:

async toggleNavMenu({commit}){
  commit('changeNavMenu')
}

, которая просто меняет статус state.ShowNavMenu с true на false и наоборот. Я пытаюсь назвать это моментом SignUp.vue рендеринга компонента, чтобы скрыть NavMenu, например,

import { mapActions } from 'vuex'
export default {
  name:"NavMenu",
  methods:{
    ...mapActions({
      Toggle: actions => actions.toggleNavMenu
        })
      },
    beforeCreate() {
      this.Toggle()
  }
}

, но когда бы я ни рендерил компонент, я получаю следующую ошибку:

[Vue warn]: Error in created hook: "TypeError: Cannot read property 'dispatch' of undefined"

есть идея исправить это, или есть ли лучший подход для этого? заранее спасибо

1 Ответ

0 голосов
/ 29 мая 2020

Я нашел решение. Измените жизненный цикл с beforeCreate() на created() и замените:

  ...mapActions({
      Toggle: actions => actions.toggleNavMenu
    })

на:

  ...mapActions({
     Toggle: 'toggleNavMenu'
  })

Не знаю, почему у меня чтобы изменить Toggle назначение, хотя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...