根据条件

时间:2016-05-19 22:32:33

标签: javascript angularjs angular

  <ul *ngFor="#item of items; #i=index" >
          <li [hidden]="{{ item.myattr === 'some_value' }}"> {{ item.val}} </li>

        </ul>

我有上面显示的以下代码。如果项目的值等于某个值,我想隐藏列表。在这种情况下,我有项目,他们有一个名为myattr的属性,如果它等于some_value,那么该项应该被隐藏。我提供的代码不起作用。

3 个答案:

答案 0 :(得分:2)

您不需要使用带有属性绑定{{}}的插值[](实际上,您不能):

<li [hidden]="item.myattr === 'some_value'">

另外,阅读错误#1:绑定到本地&#34;隐藏&#34; http://angularjs.blogspot.com/2016/04/5-rookie-mistakes-to-avoid-with-angular.html

中的属性

因此可能有更好的解决方案

<li *ngIf="item.myattr !== 'some_value'">

答案 1 :(得分:0)

你基本上也可以使用ng-hide;

<li ng-hide="item.myattr =='some_value'"> {{item.val}} </li>

假设item.myattr与some_value的类型相同。

答案 2 :(得分:0)

我认为最好使用管道来过滤掉不需要的物品。

https://angular.io/docs/ts/latest/guide/pipes.html