Фиксация неопределенного в nuxt vuex - PullRequest
1 голос
/ 27 апреля 2020
<script>
  computed: {
    loggedOut () {
      return this.$store.state.login.logged
    }
  },
  signin (store) {
      this.$auth.loginWith('local', {...code}
      }).then(this.$store.commit.login('login/LOGGED_IN')) // <- error in commit
    }
  }
}
</script>

я получаю вычисленное свойство loggedOut (), но когда я пытаюсь изменить его, передав его, выдает ошибку:

[vuex] неизвестный тип мутации: login / LOGGED_IN

Мой логин. js файл:

export const state = () => ({
  logged: false
})

export const mutations = () => ({
  LOGGED_IN (state) {
    state.logged = true
  },
  LOGGED_OUT (state) {
    state.logged = false
  }
})

index. js файл:

export const state = () => ({
})

export const mutations = {
}

1 Ответ

1 голос
/ 27 апреля 2020

Это должно работать

this.$store.commit('login/LOGGED_IN') 

Поскольку Nuxt. js хранилище по умолчанию / xxx. js (каждый. js файл, кроме индекса. js) - это один модуль, поэтому вы нужно использовать способ способ его вызова

см. https://nuxtjs.org/guide/vuex-store#modules -режим

Ваш синтаксис мутаций login.js неправильный, nuxt. js имеет другой синтаксис, пожалуйста посмотрите демо

export const mutations = {
  LOGGED_IN (state) {
    state.logged = true
  },
  LOGGED_OUT (state) {
    state.logged = false
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...