2

私はノックアウトに非常に慣れていないので、それを探求しようとしています. foreach の使い方は知っていますが、「with」について混乱しています。With のノックアウト ( http://knockoutjs.com/documentation/with-binding.html )のドキュメントを確認しました。まだ好き:

1) いつ「with」を使うべきか

2) foreach の代替はありますか?

3)「with」とforeachの間に違いはありますか

アドバイスありがとう

4

1 に答える 1

2

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>
于 2013-04-02T07:28:19.850 に答える