2016-04-02 5 views

ответ

4

Вы не можете поместить div непосредственно внутри tr, что сделало бы недействительным HTML. tr может содержать только td/th/table Элемент в нем & В них могут быть другие элементы HTML.

Вы можете немного изменить HTML, чтобы иметь *ngFor над tbody & имеют ngIf над tr сам по себе, как показано ниже.

<tbody *ngFor="..."> 
    <tr *ngIf="..."> 
    ... 
    </tr> 
    <tr *ngIf="!..."> 
    ... 
    </tr> 
    .. 
</tbody> 
+0

Это будет в основном решить эту проблему, но вы будете балансировать основную способность вы получаете с tbody. Если у вас есть большой стол, вы можете исправить голову, просто прокрутите труп. Ваш твой будет иметь роль tr и tr, который будет играть роль дополнительной оболочки. Если нет необходимости прокручивать и фиксировать голову сверху, это прагматичное решение. Моя ссылка на то, что я сказал: https://www.w3.org/TR/html401/struct/tables.html#h-11.2.3 – sascha10000

19

Я нашел способ для этого: https://angular.io/docs/ts/latest/guide/template-syntax.html#!#star-template.

Вы можете просто использовать тег <template> и заменить *ngIf на [ngIf] вот так.

<template [ngIf]="..."> 
    ... 
</template> 
+0

good, но * ngIf itslef создает тег 'template', по умолчанию - угловые директивы prefix с * создает шаблонный тег. поэтому оба они одинаковы: '[ngIf] и * ngIf' –

+1

С' * ngIf' у вас есть элемент внутри шаблона, вы не делаете, если сами пишете 'template'. При определенных обстоятельствах дополнительный элемент может вмешиваться. – Teak

+0

Можно ли положить тег 'template' внутри тега' tr'/'td'? –

Смежные вопросы