10
我在获取KnockoutJs beforeRemove和afterAdd处理程序后触发了一些问题。触发beforeRemove,在KnockoutJS中添加处理程序之后
这是相关的代码片段
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来说明问题。
感谢,
基因
谢谢!我错过了'beforeRemove'的范围应该是'foreach'的值;理所当然! – 2012-01-13 00:05:29
它看起来并不像这样,甚至在knockoutjs实况教程页面上对动画转换进行了解释。我很高兴我找到了这个答案!谢谢尼迈耶。 – ClearCloud8 2012-10-04 21:47:15