Использование vue.js для создания страницы входа.В моем проекте я разделил свой магазин на два модуля (User 、 Info).
![enter image description here](https://i.stack.imgur.com/dDkr8.png)
В пользовательском модуле actions.js
направлены наобрабатывать некоторые асинхронные запросы (например, login 、 register) и фиксировать соответствующую мутацию.
export const userActions = {
login({commit}, loginUser) {
commit(LOGIN)
axios.post(`${ API_BASE_USER }/login`, loginUser)
.then(res => {
const { token } = res.data
if (res.status == 200) { commit(LOGIN_SUCCESS, token) }
else { commit(LOGIN_FAILURE, res.data) }
})
}
.......
}
Я знал, что: В Vuex мы можем подписывать мутации магазина. Я хочу подписать каждуюмутация изменяется в Login.vue
, так что я могу загрузить уведомление, чтобы сообщить пользователю логин успешно или нет.
Login.vue
created () {
this.$store.subscribe(mutation => {
switch (mutation.type) {
case LOGIN_SUCCESS:
console.log('view success')
// load success nitification
break
case LOGIN_FAILURE:
console.log('view failure')
// load success nitification
break
case LOGIN_WARNING:
console.log('view warning')
break
}
})
}
Но это, похоже, не работает.Нельзя ли подписаться на мутации определенного модуля в магазине с несколькими модулями?