0

バインディングのようなカスタム バインディングを作成する必要がありvalueます。これが私のコードです:

ko.bindingHandlers.myValue= {
    init: function(element, valueAccessor) {
        $(element).change(function() {
            var value = valueAccessor();
            value($(this).val());
        });
    },
    update: function(element, valueAccessor) {
        var value = valueAccessor();

        $(element).val(ko.utils.unwrapObservable(value))
    }
};

オブザーバブルの値を変更すると、updateが呼び出され、要素の値が変更されるため、change説明されているコールバックinitが実行されます。
が変更されるvalueため、updateコールバックが呼び出されます。私は正しいですか?

はいの場合、どうすればこの再帰を防ぐことができますか?
そうでない場合、なぜですか?

4

1 に答える 1

3

コードによって再帰的な状況が発生してはなりません。メソッドはイベント.valをトリガーしません。.change

ここでコードを使用した例を確認してください: http://jsfiddle.net/CCNtR/13/

于 2013-02-17T20:08:53.120 に答える