Não ta reconedo a mutation
store/index.ts
...
import { createStore, Store, useStore as vxUseStore } from "vuex";
...
export const key: InjectionKey<Store<Estado>> = Symbol()
export const store = createStore<Estado>({
state: {
projetos:[]
},
mutations:{
'ADICIONA_PROJETOS'(state, nomeDoProjeto: string){
const projeto = {
id: new Date().toISOString(),
nome: nomeDoProjeto
} as IProjeto
state.projetos.push(projeto)
}
}
})
export function useStore(): Store<Estado> {
return vxUseStore(key)
}
views/Projeto.vue
...
<form @submit.prevent="salvar">
...
<tr v-for="projeto in projetos" :key="projeto.id">
<td>{{projeto.id}}</td>
<td>{{projeto.nome}}</td>
</tr>
...
<script lang="ts">
import { computed, defineComponent } from 'vue';
import { useStore } from '@/store';
export default defineComponent({
...
methods: {
salvar() {
this.store.commit('ADICIONA_PROJETO',this.nomeDoProjeto)
console.log('passei aqui')
this.nomeDoProjeto = ''
}
},
setup () {
const store = useStore();
return {
store,
projetos: computed(() => store.state.projetos)
}
}