3

asp.net アプリケーションでノックアウト JavaScript ライブラリを使用しています。

ノックアウトの場合、 koオブジェクトとapplyBindings()メソッドを使用してバインドします。ここで、2 つのノックアウト オブジェクトを 2 つの異なるユーザー インターフェイス セクションにバインドします。2 番目のセクションで使用できるように、2 番目のノックアウト オブジェクトまたは 2 番目のデータソースを使用するにはどうすればよいですか?

4

1 に答える 1

6

HTML コードのさまざまな部分にさまざまなバインディングを簡単に適用できます。

次のような構造がある場合:

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

次のようなことをしてください:

ko.applyBindings(viewModelOne, document.getElementById('one'));
ko.applyBindings(viewModelTwo, document.getElementById('two'));

次のような構造がある場合:

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

フラグを使用して、controlsDescendantBindingsノックアウトに特定の子要素をそのままにしておくように指示できます。以下のようなカスタム バインディングでこれを使用します。

ko.bindingHandlers.stopBinding = {
    init: function() {
        return { controlsDescendantBindings: true };
    }
};

そして、次のように使用します。

<div id="one">
    <div data-bind="stopBinding: true">
        <div id="two"></div>
    </div>
</div>

2 番目の div を stopBinding 関数で囲みました。これにより、次のように同じ applyBindings コードを呼び出すことができます。

ko.applyBindings(viewModelOne, document.getElementById('one'));
ko.applyBindings(viewModelTwo, document.getElementById('two'));

参考:http ://www.knockmeout.net/2012/05/quick-tip-skip-binding.html

于 2013-10-27T18:16:04.223 に答える