как лучше всего отображать условный шаблон в angular 4

в настоящее время я практикую angular 4. когда обычный пользователь просматривает это, затем показывает общедоступный контент. Когда зарегистрированный пользователь входит на веб-страницу, затем показывает редактирование или некоторый контент. как лучше всего показывать условно шаблон или пример содержимого Html:

<div *ngIf="isUser">
    some Content  here......
</div>
<div *ngIf="!isUser">
    some Content here .....
</div>

на самом деле, я хочу знать, как лучше всего.


person Md. Abu Sayed    schedule 16.10.2017    source источник
comment
Возможный дубликат Angular 2 с использованием *ngIf с несколькими условиями   -  person Aravind    schedule 16.10.2017


Ответы (3)


В angular 4 вы можете использовать структуру if.. else.. для html-шаблонов

Вы можете использовать его следующим образом:

<div *ngIf="isUser; else otherContent">
    some Content  here......
</div>
<ng-template #otherContent>
    <div>
        some Content here .....
    </div>
</ng-template>

но в вашем случае самыми красивыми решениями будут if... then... else... условное

<ng-container *ngIf="isUser; then someContent else otherContent"></ng-container>

<ng-template #someContent ><div>some content...</div></ng-template>
<ng-template #otherContent ><div>other content...</div></ng-template>
person Jaroslaw K.    schedule 16.10.2017
comment
Должно быть <div *ngIf="isUser; else otherContent, а затем <ng-template #otherContent>. Никакие # не должны помещаться в div. - person Lars; 07.12.2017
comment
Я полностью согласен с тобой. Я отредактировал свой ответ. Спасибо - person Jaroslaw K.; 08.12.2017

NgIf — это структурная директива. Это означает, что ваш компонент будет уничтожен, когда выражение станет ложным.

Поэтому, если ваш компонент часто уничтожается и создается снова, это может быть проблемой. В этом случае следует учитывать директиву [hidden]. Он устанавливает только display:none. В этом случае ваш компонент не будет уничтожен.

<div [hidden]="expression">{{val}}</div>
person zgue    schedule 16.10.2017

используйте NgIf с условием else

<div *ngIf="isUser;else Other">
    some Content  here......
</div>

<ng-template #Other> some Content here .....</ng-template>
person Sachila Ranawaka    schedule 16.10.2017