根据属性拉取元素而不删除它们Knockout

时间:2016-02-01 19:38:33

标签: knockout.js observable

我知道这对于计算机可观察量来说必须是简单的,但是我不能让它起作用。

我有一个可观察的数组具有属性isSelected(true / false)的项目。我想让所有将isSelected设置为true的项目。我写了一个很容易做到的小功能:

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

但正如您所期望的那样,删除弹出这些项目的数组。在这种情况下是否有替换remove()的函数,例如get()。或者更可能的是将整个函数转换为某种计算的可观察的get的正确途径?

1 个答案:

答案 0 :(得分:1)

试试这个(在计算机/ pureComputed中):

class UI
{
    public static findElement(selector: any) 
    {
            if (angular.isDefined(this.$window.jQuery)) {
                return this.$document.find(selector);
            } else {
                return angular.element(this.$document.querySelector(selector));
            }
    }
}

var cdnBasePath: any = UI.findElement('meta[name="cdnBasePath"]').attr('content');