У меня возникают проблемы с тем, как запускать обработчики KnockoutJs beforeRemove и afterAdd.
Это соответствующий фрагмент кода
function viewModel(list) {
var self = this;
this.items = ko.observableArray(list);
this.removeItem = function(item) {
self.items.remove(item);
}
this.removeFirst = function() {
self.removeItem(self.items()[0]);
};
this.onRemove = function(elements) {
console.log("Updating");
$(elements).addClass('transition-out');
};
}
ko.applyBindings(new viewModel(items));
И эта разметка
<button data-bind="click: removeFirst">Remove first</button>
<ul data-bind='foreach: items, beforeRemove: onRemove'>
<li data-bind="text: name, click: $parent.removeItem"></li>
</ul>
Я вижу обновления списка, но обработчик onRemove
никогда не запускается.
Я создал JSFiddle, чтобы проиллюстрировать проблему.
Спасибо,
Gene