2017-06-13 40 views
0

是否可以將ng-template引用綁定到ng-container,就像if..else的用法一樣?將模板綁定到ng容器

舉例來說,我有什麼是:

<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> 

回答

0

偶然(不是尋找具體這個問題),我去的東西正好等於我在想這樣一個問題:

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>