自定义绑定中的更新似乎已停止工作(它在版本 2.2.0 中工作)。
我将警报放在应该触发的事件中,当按下添加按钮时它不起作用。
有人可以确认这一点或提供信息问题出在哪里以及应该做什么?
查看工作版本(使用 KO 2.1.0)与损坏版本(使用 KO 2.2.0)。
HTML:
<div data-bind="foreach: items, myBind: {}">
<h3>
<a href="#" data-bind="text: id"></a>
</h3>
<div data-bind="text: name"> </div>
</div>
<button data-bind="click: add">Add Item</button>
<hr/>
JS:
ko.bindingHandlers.myBind = {
init: function(element, valueAccessor) {
alert('init');
},
update: function(element, valueAccessor) {
alert('update');
}
}
function Item(id, name) {
this.id = ko.observable(id);
this.name = ko.observable(name);
}
var viewModel = {
items: ko.observableArray([
new Item(1, "one"),
new Item(2, "two"),
new Item(3, "three")]),
add: function() {
viewModel.items.push(new Item(4, "foo"));
}
};
ko.applyBindings(viewModel);