Using ngIf without an extra element in Angular 2
ng-container
is preferred over template
:
<ng-container *ngIf="expression">
See:
I found a method for that on: https://angular.io/docs/ts/latest/guide/template-syntax.html#!#star-template.
You can simply use the <template>
tag and replace *ngIf
with [ngIf]
like this.
<template [ngIf]="..."> ...</template>
You can't put div
directly inside tr
, that would make invalid HTML. tr
can only have td
/th
/table
element in it & inside them you could have other HTML elements.
You could slightly change your HTML to have *ngFor
over tbody
& have ngIf
over tr
itself like below.
<tbody *ngFor="..."> <tr *ngIf="..."> ... </tr> <tr *ngIf="!..."> ... </tr> ..</tbody>