0

ページに 4 つの部分ビューをロードしています。すべての部分ビューを個別の div に含むメイン ページと、各部分ビューには独自のノックアウト モデルがあります。私が抱えている問題は、個々のノックアウト モデルがテキスト フィールドの値をバインドできないことです。

メインページが雑然としたり、部分ビューに密接に結合したりしないように、ページを別々に保ちたいと思います。これは基本的に、以前に完成したこれら 4 ページの要約です。

ノックアウト モデルは、部分ビューを作成するためにコントローラーからの情報が必要であり、部分ビューをこのページにプルしたくないため、プルアウトできないようです。

基本的に、独自のノックアウト モデルを使用して部分ビューを読み込み、必要な機能を備えたいと考えています。

4

2 に答える 2

0

各部分ビューで、ページの一番下に JavaScript を配置します。

<script type="text/javascript">
    ko.applyBindings(viewModelObject, document.getElementById("someDivId")); 
</script>

これにより、バインディングが適切なタイミングで適用されます。そうしないと、ビューが非同期的にロードされるため、バインディングが機能しません。

注: viewModelObject は、メイン ビューと一般的な ko インクルード ファイルで定義する必要があります。

于 2013-07-10T14:12:01.657 に答える
0

あなたの場合、2番目の引数をに使用したいと思うでしょうko.applyBindings

2 番目の引数を使用すると、バインドするルート要素として使用する DOM 要素を渡すことができます。

したがって、部分ビューを次のような要素にロードした場合:

<div id="one">
...
</div>
<div id="two">
....
</div>

次のように、さまざまなビュー モデルを各コンテナーにバインドできます。

ko.applyBindings(oneModel, document.getElementById("one"));

ko.applyBindings(twoModel, document.getElementById("two"));
于 2012-12-07T22:25:15.367 に答える