0
我有一個自定義綁定,觸發頁面上的每個元素使用相同的綁定ie。當我在第一個字段中輸入文本時,此代碼將啓動綁定3次。Knockout自定義綁定觸發多次
<input data-bind="pinTest: propertyOne" />
<input data-bind="pinTest: propertyTwo" />
<input data-bind="pinTest: propertyThree" />
我該如何獲得它只能觸發一次?我已經嘗試過淘汰賽v2.3和v3。
我得在http://jsbin.com/UKewOvu/2/edit?html,js,console,output
在這裏,問題的工作示例代碼如下:
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());
}