ng-repeat中的大括号 - 语法?

时间:2015-06-09 23:37:05

标签: javascript angularjs ionic-framework ionic

我正在尝试根据其中一个包含的值过滤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>

提前致谢。

2 个答案:

答案 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按原样进行评估。