現在、私は練習していますangular 4.通常のユーザーがこれを表示し、公開コンテンツを表示する場合登録ユーザーがWebページに入ると、編集またはコンテンツを表示します。ベストプラクティスが条件付きテンプレートまたはいくつかのHTMLコンテンツの例を示す方法:
<div *ngIf="isUser">
some Content here......
</div>
<div *ngIf="!isUser">
some Content here .....
</div>
実際、最高の方法を知りたいです。
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>
NgIfは 構造ディレクティブ です。つまり、式が偽になるとコンポーネントが破棄されます。
そのため、コンポーネントが頻繁に破壊されて再作成される場合、これが問題になる可能性があります。この場合、[hidden]
ディレクティブを考慮する必要があります。 display:none
のみを設定します。この場合、コンポーネントは破棄されません。
<div [hidden]="expression">{{val}}</div>
else条件でNgIf
を使用します
<div *ngIf="isUser;else Other">
some Content here......
</div>
<ng-template #Other> some Content here .....</ng-template>