angularjs - 使用下拉列表过滤数据?

标签 angularjs angularjs-ng-repeat angularjs-filter

我有一组对象,它们只是项目。我还有一个下拉菜单,我希望使用该下拉菜单允许用户按价格或评分进行过滤,但是在页面加载时不应进行过滤。

如何根据当前选择选项映射要过滤的项目数据?

我有一个笨拙的入门:LINK

最佳答案

首先,您的选择值是不明确的。它们包含可以对条目进行过滤和排序的值-由于它们是两种不同的功能,因此请将两者分开。

接下来,您需要定义一个自定义过滤器,该过滤器将根据所选的评级过滤数据。为此,可以使用“评级”(Rating)属性来增强过滤条件,以将所选评级与评级值相关联。

最后,将排序与谓词和反向值相关联-谓词确定要为排序确定的属性/列(在您的情况下为价格),而反向确定排序的升/降性质。

完整的代码可以在这里找到-http://plnkr.co/edit/n7TebC?p=preview

我已经更新了plunkr并引入了注释,所以如果您不懂代码,请告诉我。

关于angularjs - 使用下拉列表过滤数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16958636/

相关文章:

angularjs - 如何使用$ filter过滤对象数组中的特定字段('filter')

javascript - AngularJS推送不更新一个div中的值而更新另一个div中的值

javascript - Angular 绑定(bind)到服务值不更新

jquery - 与 Jquery ajax 相比,Angularjs $http ajax 请求较慢

javascript - 在 ng-repeat 循环中访问 i 和 i+1 元素

javascript - AngularJS:如何过滤一个属性以外的对象数组

javascript - ng-model 值在 Controller 中未定义

javascript - multi ng -重复并删除 Angular js中的行

javascript - angularjs 表 : tr with category using ng-repeat with list

javascript - AngularJS - 从 ng-repeat 中的 ng-select 中过滤已经选择的项目