2017-06-13 9 views
0

if..elseのようにng-templateの参照をng-containerにバインドすることは可能ですか?テンプレートを容器にバインドする

たとえば、私が持っているものです。

<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の両方のドキュメントはまだ存在しません。

基本的に、シナリオに応じて、このテンプレートはセクション1またはセクション2に表示されます。私はそれのためのコンポーネントを作成することができますが、このテンプレートは現在のコンポーネントに完全に関連しているので、私はそれを望んでいません。私が望むのは、この条件に応じて、テンプレートからのデータを異なる領域に表示することです。

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> 
関連する問題