#vue.js #vuex
#vue.js #vuex
Вопрос:
У меня есть магазин Vuex со следующим состоянием:
state: {
authed: false,
id: false
}
Внутри компонента я хочу отслеживать изменения authed
состояния и отправлять AJAX-вызов на сервер. Это должно быть сделано в различных компонентах.
Я пробовал использовать store.watch()
, но это срабатывает при id
authed
изменении либо или. Я также заметил, что это отличается от vm.$watch
того, что вы не можете указать свойство. Когда я попытался это сделать:
store.watch('authed', function(newValue, oldValue){
//some code
});
Я получил эту ошибку:
[vuex] store.watch only accepts a function.
Любая помощь приветствуется!
Ответ №1:
Просто установите геттер для authed
состояния в вашем компоненте и следите за этим локальным геттером:
watch: {
'authed': function () {
...
}
}
Ответ №2:
Или вы можете использовать …
let suscribe = store.subscribe((mutation, state) => {
console.log(mutation.type)
console.log(mutation.payload)
})
// call suscribe() for unsuscribe