角度 - 按单个ng模型过滤,但具有多个属性
Angular - filter by single ng-model, but on multiple properties?
>我有以下输入数据:
$scope.postList = [{
name: "Hello World #1",
is_published: false,
targeting: false
}, {
name: "Hello World #2",
is_published: true,
targeting: true
}, {
name: "Hello World #3",
is_published: true,
targeting: true
}, {
name: "Hello World #4",
is_published: false,
targeting: true
}];
现在,我应该能够从以下选择中过滤结果(使用 ng-repeat
显示)。
<select ng-model="filterByCriteria">
<option ng-value="published">Published</option>
<option ng-value="published">Unpublished</option>
<option ng-value="targeting">Custom Targeting</option>
<option ng-value="public">Public</option>
</select>
如您所见,"已发布/未发布"与is_published
媒体资源相关,而"自定义定位/公开"与targeting
媒体资源相关。
波兰语: http://plnkr.co/edit/Ej8qSGCUbts0RVVJspM1?p=preview
你可以做这样的事情:添加此新对象
$scope.filterByCriteria = [{
is_published: true
}, {
is_published: false
}, {
targeting: true
}, {
targeting: false
}];
并在 HTML 中
<body ng-app="myApp">
<div ng-controller="myController">
<div>
Filter by:
<select ng-model="selectedCriteria">
<option value="0">Published</option>
<option value="1">Unpublished</option>
<option value="2">Custom Targeting</option>
<option value="3">Public</option>
</select>
</div>
<ul>
<li ng-repeat="post in postList | filter: filterByCriteria[selectedCriteria]">
{{post.name}}
</li>
</ul>
</div>
这是一个例子
相关文章:
- 如何在Leaflet.js中按属性过滤TopoJSON功能
- Knockoutjs 模板:在通过某些属性过滤该数组后,如何将 1 个对象数组用于 2 个 DOM 元素
- 按对象属性过滤对象的角度
- Angularjs ng-repeat按一个属性过滤,属性重复问题
- ng重复 按深层属性过滤
- 培根.js如何基于另一个属性过滤事件流
- jQuery - 使用类属性过滤
- 按对象的属性过滤对象的 JavaScript 数组并删除重复项
- Knockout-通过多个对象属性过滤可观测阵列中的对象
- 在Angularjs应用程序中,使用嵌套对象属性过滤ng repeat不起作用
- 如何通过按钮数据属性过滤JSON文件
- 通过数组中对象内的对象属性过滤对象数组
- 基于JavaScript中嵌套的属性过滤出数组
- js查询模型通过集合属性过滤
- 如何在node.js中使用属性过滤Json数据?
- 根据data-*属性过滤选择选项
- 在Angularjs中通过对象属性过滤
- Ng-repeat -通过对象's常量属性过滤出不同的值
- 用外部的ng-repeat's object属性过滤嵌套的ng-repeat
- 如何在JavaScript中高效地合并两个对象数组,并按属性过滤重复项