5

ノックアウト、

コンテキストのネストを確立するために with バインディングに依存するようになりました。バインドされた要素の状態に基づいて KO が DOM を操作する方法が気に入っている場合もありますが、DOM を削除せずにバインディングの意味を知りたい場合もあります。

個々の要素バインディング レベルでの DOM 操作を防止する方法を知っている人はいますか?

ありがとう、ヴィニー

4

1 に答える 1

5

withKnockout のバージョン 2.2+ は、最初にオブジェクト (または他の真の値) にバインドされている場合、DOM 要素をクリアしません。withlightまたは、以前にまとめたバインディングを使用することもできます。オブジェクトにのみバインドします(監視可能ではありません)。

ko.bindingHandlers['withlight'] = {
    'init': function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
        var bindingValue = valueAccessor();
        if (typeof bindingValue != 'object' || bindingValue === null)
            throw new Error('withlight must be used with an object');
        var innerContext = bindingContext['createChildContext'](bindingValue);
        ko.applyBindingsToDescendants(innerContext, element);
        return { 'controlsDescendantBindings': true };
    }
};
于 2013-01-09T21:27:02.777 に答える