私はノックアウトに非常に慣れていないので、それを探求しようとしています. foreach の使い方は知っていますが、「with」について混乱しています。With のノックアウト ( http://knockoutjs.com/documentation/with-binding.html )のドキュメントを確認しました。まだ好き:
1) いつ「with」を使うべきか
2) foreach の代替はありますか?
3)「with」とforeachの間に違いはありますか
アドバイスありがとう
私はノックアウトに非常に慣れていないので、それを探求しようとしています. foreach の使い方は知っていますが、「with」について混乱しています。With のノックアウト ( http://knockoutjs.com/documentation/with-binding.html )のドキュメントを確認しました。まだ好き:
1) いつ「with」を使うべきか
2) foreach の代替はありますか?
3)「with」とforeachの間に違いはありますか
アドバイスありがとう
1) withはインライン テンプレート バインディングであり、サブ ViewModel が null の場合に領域を非表示にする場合に一般的に使用されます。また、コンテキストを親モデルからサブ モデルに変更する場合にも使用することをお勧めします。
2) そうではありません。 withはどのオブジェクトでも機能します。配列がnullになる可能性がある場合は、良いです( foreachバインディングがnull値で機能するかどうか、頭の上から思い出せません)
3) はい、まったく違います。with配列で withを使用する場合は、 with内でforeachバインディングを使用する必要があります。
また、構成ライブラリよりも私のコンベンションを見てください。バインディングに関するすべての頭痛の種が取り除かれます。ここに例があります
https://github.com/AndersMalmgren/Knockout.BindingConventions/wiki/With-conventions
編集: 私のライブラリはwithバインディングを抽象化します。上記の Github リンクの例は、私のコンベンション ライブラリなしでは次のようになります。
<select data-bind="options: items, value: selectedItem, optionsText: 'name', optionsCaption: 'Select...'"></select>
<div data-bind="with: selectedItem">
<span data-bind="text: name"></span>
</div>