2017-05-26 9 views
3

私は、コンポーネント "コース"を持っています。このコンポーネントをリストに使用します。このリストは時には水平であり、いくつかは垂直である。テンプレートファイルのコンポーネント内でダイナミクスを選択できますか?角度 - コンポーネントの異なるテンプレート

@Component({ 
    selector: 'course', 
    templateUrl: getTemplateFile() 
}) 

これは素晴らしい機能です。

答えて

2

私はこのチュートリアルでは、あなたは単にあなたの基本コンポーネントを拡張して、テンプレートを上書きすることができます

https://scotch.io/tutorials/component-inheritance-in-angular-2

非常に有用だと思います。これにより、まったく同じ機能を持ちながら異なるテンプレートを持つことができます。

0

確かに、角度4以降、* ngIf/elseディレクティブがあります。あなたは、このようなテンプレートを切り替えることができます

<div *ngIf="isHorizontal; else verticalTemplate"> 
    <span>horizontal</span> 
</div> 

<ng-template #verticalTemplate> 
    <span>vertical</span> 
</ng-template> 

私は推測、あなたが画面の幅に応じて、水平方向と垂直方向のレイアウトを切り替えたいということ。 ObservableMedia-Serviceを含むhttps://github.com/angular/flex-layoutを見てください。

+0

横と縦は私の例です。私の質問の主な目的は、私のコンポーネントに2つの異なるテンプレートファイルがあり、どれを使いたいのかを選択したいということです。私はすべての異なるテンプレートでテンプレートファイルをロードしたくありません。 – Michalis

+0

angular-cliを使用していますか? –

+0

はい。私はangle-cliを使用します – Michalis

関連する問題