我正在尝试根据其中一个包含的值过滤JSON列表。例如,我有JSON对象,它们都有名称,类型,描述等,我试图根据存储在$ stateParams中的参数进行过滤(恰好是类型)。如果我对类型进行硬编码(例如“item in items | filter:{Type:'Grain'}”),它就可以工作。
另外,我知道$ stateParams的值正在工作,因为我将它设置为页面标题。我的下面的语法有问题吗?
<div class="list card">
<div ng-repeat="item in items| filter:{Type:'{{type}}'}">
<a class="item item-icon-left" ng-click="onSelectItemList(item)">
<i class="icon ion-home"></i>
{{item.Name}}
</a>
<div>
提前致谢。
答案 0 :(得分:2)
是的,问题是filter期望expression,您不应该将表达式插入(new Expansion()
)值。
变化
{{
到
filter:{Type:'{{type}}'}
filter:{Type:type}
是针对范围评估的表达式,type
- &gt;根据范围评估表达式的值。
答案 1 :(得分:0)
使用:
<div ng-repeat="item in items| filter:{Type:type}">
你不能做嵌套插值。过滤器需要一个表达式,因此type
按原样进行评估。