関数呼び出しの結果に基づいて条件付きで要素にクラスを追加しようとしていますが、Aureliaはパラメータが変更されたときに関数を再実行しません。通常、私は汚れチェックを強制するためにゲッターを使用しますが、私の関数は不可能な引数を必要とします。Aurelia強制ゲッターを使用しないダーティチェック
問題の関数は次のようになります。
isVisible (item, filters) {
// If there are no filters selected, or at least one of the item's tag names are inside the filters the item is considered visible
return (!filters.length || (filters.length && item.tags.some(tag => {
return filters.indexOf(tag.name) !== -1 ? true : false;
})));
}
そして場合には、それはそれはitem
と文字列の配列(filters
)を取り、その後、item.tags[].name
のいずれかがfilters
の配列内にあるかどうかを確認する明白ではありません。それはそうのように私の見解で使用されている
:
<item repeat.for="item of items" item.bind="item" class="${isVisible(item, filters) ? 'show' : 'hide'}"></item>
私も、ちょうど私が再計算物事にオーレリアを強制すると仮定ビューに直接コードを追加することなく、機能の全体を追加するときに試してみました(${code here}
の内部の)ビューにコードがあります。予期しない構文解析エラー>
が表示されます。
これを見てみましょうfunction/ –