カスタム バインディングの更新が機能しなくなったようです (バージョン 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);