0
2つの配列の配列を連結しようとしていますが、そのうちの1つを非同期にフェッチするため、効果がありません。Vueの反応性の問題
this.subcategories = [...this.subcategories, ...[ this.$store.getters['categories/subcategoriesOfCurrent'] ]];
上記ゲッターは、この割り当てがトリガされたときに、ゲッターは空である、いくつかのMS(サーバ応答)の後に設定されています。状態が設定されたとき(サーバが応答したとき)、配列 'サブカテゴリ'は更新されるべきであるが、そうではない(ゲッターは)。どのようにそれを解決するには?
もっとコード:
ゲッター:
subcategoriesOfCurrent: (state: CategoriesState, getters: any) => {
return (getters.current && getters.current.subcategoryIds) ?
getters.current.subcategoryIds.map((id: string) => getters.all[id]) : [];
}
アクション:
updateCategorySubcategories: (state: CategoriesState, { parentId, categories }: { parentId: string; categories: Category[] }): void => {
Vue.set(state.categories[state.currentCategoryId], 'subcategoryIds', categories.map(category => category.id));
},
を変更した結果が変更されます、あなたは 'これ。$ store.getters [「カテゴリー/ subcategoriesOfCurrent」]'非同期であることを言っていますか? –
@JaromandaXもっとコードを追加しました – SheppardPL
私はvueを知らないのですが...何らかのms(サーバレスポンス) '*の後に*'あなたが言うときは、 'this。$ store.getters ['categories/subcategoriesOfCurrent '] 'は非同期ですか? –