2017-03-20 20 views
1

で動的に別のテンプレートをバインドするための一つのコンポーネント私は部品が常に角度-2

@Component({ 
    selector: 'page-sample', 
    templateUrl: 'sample.html', 
    providers: [] 
}) 

のようなビューテンプレートと結合されて見てきた角2に新しいですが、我々は異なるに角度2コンポーネントを再利用することができます動的にテンプレート?

+0

2つのコンポーネントで1つのテンプレートを使用しますか? –

+1

@PardeepJain私は彼が異なるテンプレートで単一のコンポーネントを使用することに言及していると思います。 –

+0

http://stackoverflow.com/questions/31692416/dynamic-template-urls-in-angular-2 –

答えて

2

これは直接質問には答えませんが、(ほとんど)同じコンポーネントを使用して別のビューを表示する方法を提案したいと思います。

私は通常、別のコンポーネントを作り、同じ機能を再利用するためにベースコンポーネントを継承させます。

//base component with functionality 
@Component({ 
    selector: 'page-sample', 
    templateUrl: 'sample.html', 
    providers: [] 
}) 
export class BaseComponent{ 
} 

BaseComponentを継承するが、別のビューを使用できる新しいコンポーネントを作成します。

// another component with a different view. 
@Component({ 
    selector: 'another-page-sample', 
    templateUrl: 'another-sample.html', 
    providers: [] 
}) 
export class AnotherComponent extends BaseComponent{ 
} 
+1

BaseComponentにコンストラクタやメソッドがある場合、実装するのではなく 'extends'を使う必要があります。 –

+0

はい、あなたは間違いありません。私はそれを更新します。 – John

+0

それにかかわらず、私はこれよりも優れた解決策を見つけられませんでした。このソリューションは確かに機能しますが、一般的でシンプルなユースケースのサポートはAngular 2に欠けているという事実を回避するためのハックです。 –