【发布时间】:2021-07-12 11:14:10
【问题描述】:
我对 Vuex 和装饰器完全陌生,我正在制作通过用户输入过滤字符的搜索栏。
<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());
});
}
只要我在组件中定义了 searchPhrase,它就可以工作,但是当我尝试使用 @Getter('characters/getSearchPhrase') searchPhrase!: string; 我试图在我的 characters.ts 模块中创建一些 @Mutation 和 @Action 但没有成功结束
【问题讨论】:
标签: vue.js vuex computed-properties vuex-modules