带减法的AngularJS orderBy表达式

带减法的AngularJS orderBy表达式,angularjs,Angularjs,我有一个表情 {{ product.SelectedProduct.BasePrice - product.SelectedProduct.Discount | currency }} 我需要能够以基本价格-折扣的价值来订购我的产品。有办法做到这一点吗?所以我想要像这样的东西 {{product.SelectedProduct.ProductName | orderBy : product.SelectedProduct.BasePrice - product.SelectedProduc

我有一个表情

{{ product.SelectedProduct.BasePrice - product.SelectedProduct.Discount | currency  }}
我需要能够以基本价格-折扣的价值来订购我的产品。有办法做到这一点吗?所以我想要像这样的东西

{{product.SelectedProduct.ProductName | 
orderBy : product.SelectedProduct.BasePrice - product.SelectedProduct.Discount }}
新代码:

<div class="row-fluid">
            <span class="mktpl_productnm" ng-show="product.SelectedProduct.ProductName">{{product.SelectedProduct.ProductName || 'product not available' | orderBy: price }}</span>
            <span ng-hide="product.SelectedProduct.ProductName" class="field-validation-error">Product not available</span>
            <span ng-show="product.SelectedProduct.remaining < product.SelectedProduct.prodterm.minQuantity" class="field-validation-error">
                (Out of stock)
            </span>
        </div>

 vm.price = function (product) {
        debugger;
        return product.SelectedProduct.BasePrice - product.SelectedProduct.Discount;
    };

{{product.SelectedProduct.ProductName | |“产品不可用”|订购方:价格}
产品不可用
(缺货)
vm.price=功能(产品){
调试器;
return product.SelectedProduct.BasePrice-product.SelectedProduct.Discount;
};

首先,您的示例没有多大意义:orderBy应用于数组,以对该数组的元素进行排序。但是
product.SelectedProduct.ProductName
可能不是数组

第二:说:

表达式函数()字符串数组=

比较器用来确定元素顺序的谓词

可以是以下内容之一:

函数:Getter函数。此函数的结果将使用运算符进行排序。 [……]

因此,您只需在作用域中创建一个函数,该函数返回要比较的数组给定元素的元素:

$scope.reducedPrice = function(product) {
    return product.SelectedProduct.BasePrice - product.SelectedProduct.Discount;
};
并且认为:

{{ productArray | orderBy:reducedPrice }}
另一种选择是预计算降低的价格并将其存储为属性或产品,然后简单地使用

{{ productArray | orderBy:'reducedPrice' }}

orderBy
ng repeat
一起使用--如何使用它?创建自定义筛选器或为控制器或服务中的每个项目添加属性您还可以按功能进行筛选@爆炸药片,orderBy是一个常用的过滤器,仅此而已。@ExplosionPills我将其与产品列表一起使用。我没有写代码,我只是想编辑它。您需要我在问题中添加更多代码吗?或者类似的,互联网上充满了例子。我编辑了上面的代码,向你们展示了我所做的。它不起作用了。我错过什么了吗?谢谢你的帮助是的,你错过了一些东西。orderBy用于对数组(在本例中为产品)的元素进行排序。但是你把它应用到一个产品的名字上。这毫无意义。这是我回答的第一句话。