簡體   English   中英

將模板綁定到ng-container

[英]Bind a template to a ng-container

是否可以將ng-template引用綁定到ng-container ,如if..else用法一樣?

例如,我擁有的是:

<section class="section_one">
  <ng-container
    *ngIf="someCondition"
    bind-template="someTemplate"
  >
  </ng-container>
</section>

...

<section class="section_two">
  <ng-container
    *ngIf="!someCondition"
    bind-template="someTemplate"
  >
  </ng-container>
</section>

...

<ng-template #someTemplate>
  ...
</ng-template>

我想知道是否已經內置了bind-template之類的東西。 ng-containerng-template均不存在。

因此,基本上,根據情況,此模板會出現在第一部分或第二部分中。 我知道我可以為其創建一個組件,但是我不想要它,因為該模板與當前組件完全相關。 我想要的是根據這種情況在不同區域顯示模板中的數據。

我可以在ng-container上使用if..else來實現它,但是這看起來有點怪異,因為必須顛倒條件。

<section class="section_one">
  <ng-container *ngIf="!someCondition; else someTemplate">
  </ng-container>
</section>

...

<section class="section_two">
  <ng-container *ngIf="someCondition; else someTemplate">
  </ng-container>
</section>

...

<ng-template #someTemplate>
  ...
</ng-template>

偶然地(不是專門搜索這個問題),我去找完全符合我在這個問題中想要的東西:

https://angular.io/api/common/NgTemplateOutlet

這樣的事情應該起作用:

<section class="section_one">
  <ng-container
    *ngIf="someCondition"
    *ngTemplateOutlet="someTemplate"
  ></ng-container>
</section>

<section class="section_two">
  <ng-container
    *ngIf="!someCondition"
    *ngTemplateOutlet="someTemplate"
  ></ng-container>
</section>

<ng-template #someTemplate>
  ...
</ng-template>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM