Im completely new into Vuex and decorators, Im in the middle of making searchbar which filters characters by the user input.
<input
class="form-control"
type="text"
v-model="searchPhrase"
placeholder="Search"
/>
<Character
v-for="character in resultSearching"
:key="character.id"
:photo="character.image"
:characterID="character.id"
:name="character.name"
:gender="character.gender"
:species="character.species"
:lastEpisode="character.episode[character.episode.length - 1].episode"
:character="character"
/>
export default class Characters extends Vue {
// @Getter("characters/getSearchPhrase") searchPhrase!: string;
searchPhrase = '';
get resultSearching(): CharactersApiI[] {
return this.characters.filter((character) => {
return character.name
.toLowerCase()
.match(this.searchPhrase.toLowerCase());
});
}
It works as long as I have searchPhrase defined in component but it breaks up when I try to get it with @Getter('characters/getSearchPhrase') searchPhrase!: string; I tried to make some @Mutation and @Action in my characters.ts module but didn't end successfully
First, ensure your Vuex module is namespaced:
Then, use the
vuex-class
namespace
helper to access the namespaced getter: