尝试将我在角度应用中执行的搜索返回的一组过滤器分开。当我进行搜索时,我收到了json,它按标题分组。我可以只重复该特定组中的项目并将其分开吗?原因是每个组都将在一个独特的UI模块中。因此,一些列表将返回并显示在滑块中,一些将在无线电中。
这是:
<div heading="{{filter.name}}"
ng-repeat="filter in inventory.filters | filterOptions | orderBy:'name'"
is-open="true" show-attrs>
<h3>{{filter.name | uppercase}}</h3>
<div ng-repeat="option in filter.options">
<span ng-click="selectedFilter(filter, option.option, option.id)">
<a>{{option.option}}{{option.count>0 ? "("+option.count +")": ""}}</a>
</span>
<br/>
</div>
</div>
所以最终我希望能够定位filter.name.color,当这个特定的组显示在这个特定类型的UI中时。
对阅读的任何建议或链接表示赞赏。
答案 0 :(得分:1)
因此,根据您发布的答案,您想要做的只是显示具有特定名称的过滤器。如果是这样,ngFilter
应该能够像这样照顾:
| filter:{name: 'blah'}
(或{name: something}
如果值在名为something
的变量中<)
完整HTML:
<div heading="{{filter.name}}"
ng-repeat="filter in inventory.filters | filterOptions | orderBy:'name' | filter:{name:'blah'}"
is-open="true" show-attrs>
<h3>{{filter.name | uppercase}}</h3>
<div ng-repeat="option in filter.options">
<span ng-click="selectedFilter(filter, option.option, option.id)"><a>{{option.option}}{{option.count>0 ? "("+option.count +")": ""}}</a></span>
<br/>
</div>
<!--Then I just repeat each ng-if that I want to be available -->
</div>
如果您想根据filter.name.color
进行过滤,可以使用| filter:{name.color: 'blue'}
,但如果在对象表示法中使用该点并不适合您,则另一个选项是使用自定义过滤功能:
| filter:hasColor.bind(null, 'blue')
然后在你的控制器中:
$scope.hasColor = function (color, filter) {
return filter.name && filter.name.color === color;
};
答案 1 :(得分:0)
好的,所以我试过的就是这个,它似乎让我控制了我所展示的内容以及在哪里:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div heading="{{filter.name}}"
ng-repeat="filter in inventory.filters | filterOptions | orderBy:'name'"
is-open="true" show-attrs>
<div ng-if="filter.name=='blah'" >
<h3>{{filter.name | uppercase}}</h3>
<div ng-repeat="option in filter.options">
<span ng-click="selectedFilter(filter, option.option, option.id)"><a>{{option.option}}{{option.count>0 ? "("+option.count +")": ""}}</a></span>
<br/>
</div>
</div>
<!--Then I just repeat each ng-if that I want to be available -->
</div>
所以基本上在该div中的ng-repeat调用之后我调用nf-if并且针对特定的过滤器标题名称/ id来获取我需要做的事情。