J'ai un magasin vuex avec l'état suivant:
state: {
authed: false
,id: false
}
Dans un composant, je veux surveiller les modifications de l'état authed
et envoyer un appel AJAX au serveur. Cela doit être fait dans divers composants.
J'ai essayé d'utiliser store.watch()
, mais cela se déclenche lorsque id
ou authed
change. J'ai également remarqué que c'est différent de vm.$watch
En ce que vous ne pouvez pas spécifier une propriété. Quand j'ai essayé de faire ça:
store.watch('authed',function(newValue,oldValue){
//some code
});
J'ai eu cette erreur:
[vuex] store.watch only accepts a function.
Toute aide est appréciée!
Définissez simplement un getter pour l'état authed
dans votre composant et regardez ce getter local:
watch: {
'authed': function () {
...
}
}
Ou vous pouvez utiliser ...
let suscribe = store.subscribe((mutation, state) => {
console.log(mutation.type)
console.log(mutation.payload)
})
// call suscribe() for unsuscribe