State sendo alterada
[Finalizado Pelo Aluno]
Vamos se por que tenho uma action que trás toda a lista de permissões de acessos de um sistema:
loadPermissions(context, params) {
context.commit("PRELOADER", true);
const token = localStorage.getItem(NAME_TOKEN);
axios
.get('/api/v1/permissions', {
params,
headers: { Authorization: `Bearer ${token}` },
})
.then((response) => {
context.commit("LOAD_PERMISSIONS", response.data);
})
.catch((errors) => {
console.log(errors);
})
.finally(() => context.commit("PRELOADER", false));
},
E eu queria agora trazer as permissões que já foram cadastradas para aquele determinado perfil:
selectedPermissions(context, uuid) {
context.commit("PRELOADER", true);
const token = localStorage.getItem(NAME_TOKEN);
return new Promise((resolve, reject) => {
axios
.get(`/api/v1/selected-permissions/${uuid}`, {
headers: { Authorization: `Bearer ${token}` },
})
.then((response) => {
context.commit("LOAD_SELECTED_PERMISSIONS", response.data);
})
// .then((response) => resolve(response))
.catch((error) => reject(error))
.finally(() => context.commit("PRELOADER", false));
});
},
Nos mutations está assim:
LOAD_PERMISSIONS(state, permissions) {
state.items = permissions;
},
LOAD_SELECTED_PERMISSIONS(state, selectedPermissions) {
state.items = selectedPermissions;
},
O problema que está acontecendo é que os dois states estão sendo alterados ao mesmo tempo se eu chamar a action (selectedPermissions).
A configuração do arquivo store.js está assim:
const store = new Vuex.Store({
modules: {
permissions: Permissions,
selectedPermissions: Permissions,
}
});
A ideia seria criar um state diferente para as permissões já selecionadas?
Olá, Wesley!
Tudo bem?
Você tem o código no GitHub?
Quero ver com mais detalhes para te ajudar a entender onde está o problema.
Consegui resolver, comecei o curso de Vue 2 aqui da plataforma, e vi que da para criar state diferentes, eu estava usando a mesma state, por isso estava dando problema.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!