2016-02-01 81 views
0

我知道這一定是簡單的計算observables不知何故,但我不能讓它工作。基於屬性拉元素而不刪除他們Knockout

我有一個可觀察數組具有屬性isSelected(true/false)的項目。我想讓所有具有isSelected設置爲true的項目。我寫了一個相當簡單的小功能:

self.selectedItems = function() { 
    var selected = self.Items.remove(function (item) { return item.isSelected; }) 
    return selected; 
} 

但正如你所期望的那樣,刪除將這些項目彈出陣列。在這種情況下是否有函數替換remove(),比如get()。或者更可能把這個整個函數轉換成某種計算可觀察值的正確途徑得到?

回答

1

試試這個(在計算/ pureComputed):

ko.utils.arrayFilter(self.Items(), function(item) { return item.isSelected; }); 
+0

完美,我只是用arrayFilter玩弄(),但不工作,這做到了,但(接受允許時) – DasBeasto

+0

高興我可以幫忙! –