2017-05-21 64 views
0

我有這樣的代碼模板:角,IF語句模板

<div *ngFor="let user of users | async" class="beacon-label me" [ngStyle]="{ 'top':user.posY+'px', 'left':user.posX+'px' }" > 
     <div class="userId"><p>{{user.$key}}</p></div> 
</div> 

這個代碼將顯示所有用戶,但我不希望顯示一些特殊屬性的用戶(用戶與未滿15)。我嘗試過,但沒有奏效。

+0

我已標記的下'angular'你的問題,因爲'angularjs'針對與angularjs V1的問題。+ –

+2

我沒有看到你的'* ngIf',或者什麼時候你做的事,或你真正的意思是「不起作用」.. – Makoto

回答

0
<div *ngFor="let user of users | async" class="beacon-label me" [ngStyle]="{ 'top':user.posY+'px', 'left':user.posX+'px' }" > 
     <div class="userId" 
      *ngIf="user.age < 15"> <!-- Change age with appropriate user key you are looping --> 
       <p>{{user.$key}}</p> 
     </div> 
</div> 
0

使用ng-template

<ng-template ngFor let-user [ngForOf]="users | async"> 
    <div class="beacon-label me" [ngStyle]="{ 'top':user.posY+'px', 'left':user.posX+'px' }" > 
     <div *ngIf="user.age < 15" class="userId"><p>{{user.$key}}</p></div> 
    </div> 
</ng-template> 

其中*ngIf是 - 把你的謂語。

0

filter放在users Observable上會更簡單。利用Observable提供的能力。

//Assuming getUser method is method of userService returns `Observable` 
this.users = this.userService.getUser().filter(user => user.age < 15)