2017-05-02 18 views
8

Angular2..why và how?nếu khác trong cú pháp mẫu angular2

Làm thế nào để thực hiện dưới đây nếu tình trạng angular2

<td *ngFor="let val of rows;let j=index"> 
      IF J==0 
       <label>{{val}}</label> 
      ELSE: 
       <label style="color:#000000;font-size:12px;padding-top: 5px">{{val}}</label> 

</td> 

Trả lời

18

Bạn có thể sử dụng *ngIf chỉ thị cấu trúc với cú pháp if-else để đạt được kết quả này.

<label *ngIf="j === 0; else elseBlock">{{val}}</label> 
<ng-template #elseBlock> 
    <label style="color:#000000;font-size:12px;padding-top: 5px">{{val}}</label> 
</ng-template> 

Một lựa chọn khác là sử dụng hai *ngIf khối và đảo ngược điều kiện, như vậy:

<label *ngIf="j === 0">{{val}}</label> 
<label *ngIf="j !== 0" style="color:#000000;font-size:12px;padding-top:5px">{{val}}</label> 
+1

Tôi tin rằng '* ngIf =" j === 0; else elseBlock "' là một tính năng Angular4, không hoạt động trong Angular 2 phải không? Dù sao, đó sẽ là cách tiếp cận tốt nhất trong quan điểm của tôi: 1. Nâng cấp lên Angular 4. 2. Áp dụng mã này. – SrAxi

+1

Điều đó là chính xác. Tôi không chắc chắn phiên bản nào của Angular OP đã sử dụng nên tôi đã cung cấp câu trả lời cho phiên bản hiện tại của khung công tác và một sự sụp đổ. Tôi rất thích tag 'angular2-template' có nghĩa là cú pháp mẫu thực sự cho phiên bản 2.X là tham chiếu mô tả' Angular2' không phải là tên chính xác của khung công tác. –

+2

Thật vậy. * "Angular 2" * không tồn tại nữa, bây giờ chỉ là ** Angular ** cho phiên bản 2+ và AngularJs cho phiên bản 1.x. : D – SrAxi

5

Nếu bạn có kế hoạch nâng cấp lên góc 4, bạn có thể sử dụng mới if/else trong mẫu mà bao gồm phiên bản này. Ví dụ:

<div *ngIf="someCondition; else falsyTemplate"> 
    <h1>Condition Passed!</h1> 
</div> 

<ng-template #falsyTemplate> 
    <h1>Condition Failed!</h1> 
</ng-template> 

Kiểm tra các liên kết hữu ích sau đây:

Cá nhân tôi muốn giới thiệu nâng cấp lên góc 4.

0

Bạn có thể làm điều này trong Angular 2 bằng cách sử dụng phần tử <ng-container>. Trong ví dụ của bạn cần một cái gì đó như thế này:

<td *ngFor="let val of rows;let j=index"> 
    <ng-container *ngIf="J==0"> 
     <label>{{val}}</label> 
    </ng-container> 
    <ng-container *ngIf="J!=0"> 
     <label style="color:#000000;font-size:12px;padding-top: 5px">{{val}} 
</label> 
    </ng-container> 
</td> 

Bạn có thể tìm thêm thông tin trong tài liệu: https://angular.io/guide/structural-directives#ng-container-to-the-rescue.

Các vấn đề liên quan