在Angular.js上的ng-repeat指令中的if语句

mar*_*nde 15 html javascript angularjs

我正在尝试将if转换为ng-repeat指令,但我很难过.我现在工作的代码是:

<p ng-repeat="list in lists">{{list[id].title}}</p>
Run Code Online (Sandbox Code Playgroud)

我想做的基本上是

<p ng-repeat="list in lists if list[id].selected">{{list[id].title}}</p>
Run Code Online (Sandbox Code Playgroud)

当然,在第二行,我收到一个错误.有什么建议吗?

谢谢.

Jan*_*n.J 34

正如我在评论中所写,您可以使用过滤器来实现这一点.这是一个例子:http://jsfiddle.net/sebmade/ZfGx4/44/

ng-repeat="list in lists | filter:myFilter"
Run Code Online (Sandbox Code Playgroud)


并过滤代码:

$scope.myFilter = function(item) {
    return item.selected == true;
};
Run Code Online (Sandbox Code Playgroud)


编辑:
我发现可以使用内联过滤器这样做:

ng-repeat="list in lists | filter:{selected: true}"
Run Code Online (Sandbox Code Playgroud)


Sha*_*.io 10

你需要在这里添加一个过滤器:

<p ng-repeat="list in lists | filter:{selected:true}">test {{list.title}}</p>
Run Code Online (Sandbox Code Playgroud)

我添加了一个plnkr作为例子.