计算属性上的角度过滤器?

时间:2014-07-10 21:56:45

标签: angularjs

我正在尝试对计算属性使用$ filter,但它似乎不起作用。我找不到任何类似的例子,并尝试过我能想到的一切。

这是控制器:

    function PriceAnalyticsCtrl($scope, $filter, products, productService) {
    var vm = $scope;

    vm.title = "Price Analytics";

    // Computed property
    for (var i = 0; i < products.length; i++)
    {
        products[i].marginPercent = function () {
            return productService.calculateMarginPercent(products[i].price, products[i].cost);
        };
        products[i].marginAmount = function () {
            return productService.calculateMarginAmount(products[i].price, products[i].cost);
        };
    };

    var orderedProducts = $filter('orderBy')(products, 'marginPercent');

}

我首先添加了两个计算属性。我接着是其中一人订购的。

有没有办法按计算财产订购? 谢谢!

1 个答案:

答案 0 :(得分:1)

滤镜参数需要角度表达式。所以目前它正在寻找一个属性,在这种情况下,它返回一个函数而不是函数的评估。 尝试:

var orderedProducts = $filter('orderBy')(products, 'marginPercent()');