2016-03-25 6 views
0

指令テンプレート -Angular2:使用して作成したAccessテンプレート要素はNG-用のコンポーネント

<li *ngFor = "#el of dragZoneElems; #idx = index"> 
    <h4 [style.position]="'fixed'" [style.top.px]="idx* 30" [style.margin-top] = "80.0" [style.z-index] = 100 [dragResponder] = "el">{{el.first}} {{el.last}}</h4> 
    </li> 

から=のOBJ Iは、ディレクティブクラスからオブジェクトの値を使用して作成したH4要素にアクセスする必要があります。どうすればいいの?あなたは「アクセス」の意味が、私は、これはあなたが望むものであると仮定し何

+0

そのないあなたが言うしようとしているものを明確に。 – micronyks

+0

ngFor = el of Elemsを使用して各要素を作成します。私のコンポーネントから、私はelオブジェクトを使って作成した要素にアクセスする必要があります。つまり、それを作成するために使用されたオブジェクトに対応する作成された要素を知る必要があります。 – shiv

+0

「エル」はどのh4に属しているのですか? – micronyks

答えて

1

わからない:

<li *ngFor = "#el of dragZoneElems; #idx = index"> 
    <!-- added: #h4 --> 
    <h4 #h4 [style.position]="'fixed'" [style.top.px]="idx* 30" [style.margin-top] = "80.0" [style.z-index] = 100 [dragResponder] = "el">{{el.first}} {{el.last}}</h4> 
    </li> 
class MyComponent { 
    @ViewChildren('h4') h4s; 

    ngAfterViewInit() { 
    console.log(this.h4s.length); 
    } 
} 
+0

に対応するかを言うことができます。ngFor = el of Elemsを使用して各要素を作成します。私のコンポーネントから、私はelオブジェクトを使って作成した要素にアクセスする必要があります。つまり、それを作成するために使用されたオブジェクトに対応する作成された要素を知る必要があります。 – shiv

+0

作成する要素がAngularコンポーネントでないか、またはプロパティを設定できるディレクティブが追加されていない場合は、属性にいくつかのidを追加する必要があります。[attr.some-id] = "el.id属性は文字列のみを格納できるので、文字列として格納または取り出すことができます。次に、あなたが探しているidを持つ要素に対して 'h4s'を検索することができます。 –

関連する問題