ngIf
추가 컨테이너 요소없이 사용할 수 있습니까 ?
<tr *ngFor="...">
<div *ngIf="...">
...
</div>
<div *ngIf="!...">
...
</div>
</tr>
잘못된 HTML을 만들기 때문에 테이블에서 작동하지 않습니다.
ngIf
추가 컨테이너 요소없이 사용할 수 있습니까 ?
<tr *ngFor="...">
<div *ngIf="...">
...
</div>
<div *ngIf="!...">
...
</div>
</tr>
잘못된 HTML을 만들기 때문에 테이블에서 작동하지 않습니다.
답변:
ng-container
다음보다 선호됩니다 template
.
<ng-container *ngIf="expression">
보다:
https://angular.io/docs/ts/latest/guide/template-syntax.html#!#star-template 에서 방법을 찾았습니다 .
당신은 간단하게 사용할 수있는 <template>
태그 및 교체 *ngIf
와 [ngIf]
같은.
<template [ngIf]="...">
...
</template>
template
태그를 생성하면 기본적으로 *가 붙은 각도 지시어 접두사가 템플릿 태그를 생성합니다. 모두 있도록 동일[ngIf] and *ngIf
*ngIf
템플릿 내부 요소를 가지고 당신이 작성하는 경우, 당신은하지 않습니다 template
자신을. 특정 상황에서 추가 요소가 간섭 할 수 있습니다.
template
, 태그 내부 tr
/ td
태그?
*ngIf="foo"
것은 포장 <template [ngIf]="foo">
태그 와 동일하기 때문 입니다. 간단히 말해서 template
+ []
== *
이므로 []
! = *
입니다. *
를 제외한 모든 요소에서 의미가 template
있습니다.
div
내부 에 직접 넣을 수 없으므로 tr
잘못된 HTML이됩니다. 그 안에 / / 요소 tr
만있을 수 있으며 그 안에 다른 HTML 요소가있을 수 있습니다.td
th
table
당신은 약간이 당신의 HTML을 바꿀 수 *ngFor
이상 tbody
및이 ngIf
를 통해 tr
자체가 아래 좋아한다.
<tbody *ngFor="...">
<tr *ngIf="...">
...
</tr>
<tr *ngIf="!...">
...
</tr>
..
</tbody>