0

とても簡単な質問なので、私は本当に簡単な解決策を望んでいます。私は外部テンプレートライブラリを使用したくありません。EmberJSに精通しているとはいえ、Emberは現在作業しているアプリケーションには行き過ぎになるからです。

簡単なJSFiddleを設定しました:http://jsfiddle.net/zeEFP/3/

4

2 に答える 2

1

ko.applyBindings() はビューモデルをパラメーターとして受け取ります。私はあなたのフィドルを更新しました:

http://jsfiddle.net/zeEFP/4/

ViewModel オブジェクトの ViewModel プロパティ内のプロパティを探すようにノックアウトに指示していたため、以前は失敗していました。

于 2012-06-18T12:51:35.737 に答える
1

window.document.body最初のフィドルでは、コンテキスト要素を提供していないため、ビューモデルを dom 全体 (より具体的には ) に適用しています。したがって、バインディングは必要ありませんwith(withバインディングは新しいバインディング コンテキストを作成しますが、既に正しいバインディング コンテキストにいます)。

参照: http://jsfiddle.net/zeEFP/10/

複数のビュー モデルが必要な場合は、applyBindingsメソッドにコンテキストを指定できます。

ko.applyBindings(new FirstViewModel(), document.getElementById("someId));

ここで更新されたフィドルを参照してください: http://jsfiddle.net/zeEFP/8/

のコンテキストとして追加のマークアップを提供したくない場合は、applyBindings代わりに包括的なビュー モデルを使用し、withバインディングを使用してページの一部の新しいコンテキストを作成できます。

参照: http://jsfiddle.net/zeEFP/11/

あなたのために物事を片付けるのに役立つことを願っています

于 2012-06-18T14:28:38.513 に答える