2
respostas

provedor e $store

Olá,

Fiquei com uma dúvida.

Porque no arquivo index.js chamamos o token com:

provedor.state.token

mas no arquivo BarraNavegacao.vue chamamos o token com:

this.$store.state.token

Não daria pra chamar tudo como $store, ou tudo como provedor? Tem uma explicação para essas duas chamadas distintas?

Obrigado pela atenção

2 respostas

Fala ai Lucas, tudo bem? A diferença está no contexto do Vue, ele injeta a store globalmente através do this.$state, porém, isso só pode ser acessado via componentes através de seus contextos (this).

Espero ter ajudado.

Salve, Lucas!

É como o Matheus disse.

Quando estamos dentro do componente, acessamos a store assim:

this.$store.state.token

Isso porque a instância do Vue injeta o nosso vuex dentro do componente. Já no arquivo src/router.index.js nós fazemos o import do vuex manualmente:

import provedor from '@/provedor'

Fazemos isso quando precisamos acessar o nosso provedor, a nossa store, fora de um componente Vue!