我有一個按鈕,將一個項目移動到observableArray中的一個位置。我按照以下方式進行。然而,缺點是categories()[index]被從數組中刪除,因此放棄了該節點上的任何DOM操作(通過jQuery驗證)。如何交換observableArray中的兩個項目?
有沒有一種方法來交換兩個項目,而不使用一個臨時變量,以保存DOM節點?
moveUp: function (category) {
var categories = viewModel.categories;
var length = categories().length;
var index = categories.indexOf(category);
var insertIndex = (index + length - 1) % length;
categories.splice(index, 1);
categories.splice(insertIndex, 0, category);
$categories.trigger("create");
}
非常感謝,這裏是** moveDown **示例http:// stackoverflow。com/a/22348385/287084 – Orhaan 2015-12-20 22:39:26