0
동일한 바인딩 ie를 사용하는 페이지의 각 요소에 대해 실행되는 사용자 정의 바인딩이 있습니다. 이 코드는 첫 번째 필드에 텍스트를 입력 할 때 바인딩을 3 번 실행합니다.녹아웃 사용자 정의 바인딩 여러 번 실행
<input data-bind="pinTest: propertyOne" />
<input data-bind="pinTest: propertyTwo" />
<input data-bind="pinTest: propertyThree" />
어떻게 한 번만 발사 할 수 있습니까? 나는 녹아웃 v2.3과 v3을 시도했다. 3 개 속성
에 대한 propertyOne에 실행 종속을 생성합니다
ko.bindingHandlers.pinTest = {
init: function (element, valueAccessor, allBindingsAccessor) {
ko.utils.registerEventHandler(element, "keyup", function() {
var value = valueAccessor();
value(element.value);
});
},
update: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
var value = ko.unwrap(bindingContext.$data.propertyOne);
console.log("in binding update -value="+value);
}
};
var myVm = function() {
this.propertyOne = ko.observable();
this.propertyTwo = ko.observable();
this.propertyThree = ko.observable();
};
function start() {
ko.applyBindings(new myVm());
}