KnockoutJs beforeRemoveとAfterハンドラを追加するにはいくつかの問題があります。beforeRemove、after 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'の値でなければならないと思いました。もちろん意味があります! –
これはアニメーションのトランジションのためのknockoutjsライブチュートリアルページでも説明されているようには見えません。私はこの答えを見つけてうれしいです!ありがとうNiemeyer。 – ClearCloud8