1

問題の単純化されたバージョンを次に示します。

<div id="model-one-container" data-bind="css: {foo: someModelOneProperty}">
    <div id="model-two-container" data-bind="text: someModelTwoProperty"></div>
    <div data-bind="text: anotherModelOneProperty"></div>
</div>

.

ko.applyBindings(viewModelOne, document.getElementById("model-one-container"));
ko.applyBindings(viewModelTwo, document.getElementById("model-two-container"));

これを行うと、ノックアウトは viewModelOne に「someModelTwoProperty」がないと文句を言うので、最初の applyBindings から #model-two-container div を除外する必要があります。
ビューモデルを変更せずにこれを行う方法はありますか?

4

1 に答える 1

6

これが答えです。

ノックアウト 2.0 以降、controllesDescendantBindings フラグがあり、これを使用してカスタム バインディングを作成し、KO が要素またはその子にバインドするのを停止します。

于 2012-10-25T21:16:54.073 に答える