vuejs 2 como observar os valores da loja vuex
Eu estou utilizando vuex
e vuejs 2
juntos.
Sou novo no vuex
, quero assistir a uma mudança de variável da store
.
Eu quero adicionar a função "relógio" no meu "componente de valor".
Isto é o que eu tenho até agora:
import Vue from 'vue';
import {
MY_STATE,
} from './../../mutation-types';
export default {
[MY_STATE](state, token) {
state.my_state = token;
},
};
Eu quero saber se há alguma mudança no my_state
.
Como eu assisto store.my_state
no meu componente vuejs?
129
3
Você não deve usar os observadores de componentes's para ouvir a mudança de estado. Eu recomendo que você use as funções getters e depois mapeie-as dentro do seu componente.
Na sua loja:
Você deve ser capaz de ouvir quaisquer alterações feitas em sua loja utilizando
estos.myState
em seu componente.https://vuex.vuejs.org/en/getters.html#the-mapgetters-helper
**Como mencionado acima, não é boa ideia ver mudanças directamente na loja***.
Mas em alguns casos muito raros pode ser útil para alguém, por isso vou deixar esta resposta. Para outros casos, por favor veja @gabriel-robert answer
Você pode fazer isso através do
state.$watch
. Adicione isto no seu métodocriado
(ou onde você precisa que isto seja executado) no componenteMais detalhes: https://vuex.vuejs.org/api/#watch
Você também pode usar o mapState no seu componente de valor para obter diretamente o estado da loja.
No seu componente:
Onde
my_state
é uma variável da loja.