#javascript #vue.js #vuex #nuxt.js
#javascript #vue.js #vuex #nuxt.js
Вопрос:
Я новичок в NuxtJs. Когда я пытаюсь позвонить…mapGetter Я получаю эту ошибку выше и ничего не нахожу. Я пытаюсь следовать руководству nuxt, но ничего не могу найти о том, как использовать mapGetters.
Это ошибка оболочки:
Syntax Error: Unexpected token (37:4) friendly-errors 21:58:14
35 |
36 | computed() {
> 37 | ...mapGetters(['currentUser'])
| ^
38 | },
39 |
40 | methods: {
friendly-errors 21:58:14
@ ./pages/index.vue?vueamp;type=scriptamp;lang=jsamp; 1:0-227 1:243-246 1:248-472 1:248-472
@ ./pages/index.vue
@ ./.nuxt/router.js
@ ./.nuxt/index.js
@ ./.nuxt/client.js
@ multi ./node_modules/@nuxt/components/lib/installComponents.js eventsource-polyfill webpack-hot-middleware/client?reload=trueamp;timeout=30000amp;ansiColors=amp;overlayStyles=amp;path=/__webpack_hmr/clientamp;name=client ./.nuxt/client.js
Это мой код хранилища:
// store/user.js
export const state = () => ({
user: {},
})
export const getters = {
currentUser: (state) => {
return state.user
},
}
export const actions = {
doLogin: ({ commit }, params) => {
const mock = { username: params.username, token: '123' }
commit('setUser', mock)
},
}
export const mutations = {
setUser: (state, user) => {
state.user = user
},
}
Комментарии:
1.
computed: { ...mapGetters(
и т.д. — т.е. вычисляется не функция, это просто свойство — vuex.vuejs.org/guide/getters.html#the-mapgetters-helper
Ответ №1:
Прежде всего, вычисляется свойство, а не функция
export default {
computed: {
/***/
}
}
И, во-вторых, вы используете модульную (пользовательскую, в вашем случае) систему для инициализации хранилища. Вам также необходимо указать имя модуля при отображении хранилища (ожидайте index.js ), вот так
computed: {
...mapGetters("user", ["currentUser"])
}