2

現在、角度2では動的セレクタ/ htmlタグを作成できるかどうかを確認しようとしています。私のような何かを行うことができるように角度2:ダイナミックセレクタプロパティ

@Component({ 
    selector: 'my-app' + 'variableName', 
    template: ` 
    <container> </container> 
    `, 
    directives: [ContainerComponet] 
}) 

:たとえば、私はこのような何かをしたいように

<my-app + {{variableName}}> <!-- the variable name would be coming from a public variable inside my component--> 

を、私のコンポーネントの実装が複数回発生する必要があり、私が知っています私はコピー/貼り付けができますが、複数のコンポーネントがありますが、よりスマートな方法が必要だと感じています。

+0

実行時に動的にコンポーネントを作成することで、帽子のようなものを実現するいくつかのトリックがあります。あなたのために働くかもしれない別のアプローチはhttp://stackoverflow.com/questions/36325212/angular-2-dynamic-tabs-with-user-click-chosen-components/36325468#36325468 –

+1

のようなものです。 ' 'はサポートされていません。 Angularは、動的に作成されたコンテンツのセレクタとは決して一致しません。 '[someSelector] =" boolValue?true:null "などのセレクタのディレクティブをサポートするための議論が最近行われました。 –

+0

ありがとうございました!私はそのリンクを調べます – eagleEye

答えて

0

これは私にとってはうまくいきました。私の場合、テンプレートは同じですが、特定の値に基づいて変更(色付け変更)する必要がありました。だから、親コンポーネントでこれらの値を設定して、私のコンポーネントは異なる挙動ことに基づいた

Componenetコード:

sample.ts

@Component({ 
    selector: 'my-app-sample' 
    templateUrl: 'sample.html' 
}) 

@Input() myInput: MyInput; 

このコンポーネントおよびテンプレート(sample.ts)は、あります別のコンポーネントの子です。 親テンプレートでは、我々はtehのサンプルセレクタ「ドロップ」:私は私のセレクタをドロップ私のアプリサンプルを

テンプレート(親):

<div> 
<my-app-sample [myInput] = "anotherVariable"</my-app-sample> 
</div> 

注:anotherVariable値はコンポーネントの親に設定されています。