我正在尝试对计算属性使用$ 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');
}
我首先添加了两个计算属性。我接着是其中一人订购的。
有没有办法按计算财产订购? 谢谢!
答案 0 :(得分:1)
滤镜参数需要角度表达式。所以目前它正在寻找一个属性,在这种情况下,它返回一个函数而不是函数的评估。 尝试:
var orderedProducts = $filter('orderBy')(products, 'marginPercent()');