2016-10-28 7 views
1

Ich verwende dieses Paket eine popover in meiner App zu erstellen:
https://github.com/pleerock/ng2-popover
Das Problem ist, ich eine Tabelle für Daten mit ngFor haben, also muss ich verschiedene popovers für verschiedene Zeilen. Hier ist der Code:Angular 2 Element dynamisch ref

 <div class="dt-row" *ngFor="let key of keys"> 
      <popover-content #actions 
          title="Actions" 
          placement="bottom" 
          [animation]="false" 
          [closeOnClickOutside]="true" 
          [closeOnMouseOutside]="false" 
          [disabled]="false" 
          [onHover]="false"> 
       <a>Edit</a> 
       <a>Delete</a> 
      </popover-content> 

      <div [popover]="actions"> 
       ... 
      </div> 
     </div> 

So actions ref ist gleich für alle ngFor Instanzen.
Wie kann ich das ref dynamisch machen? So etwas wie [ref]="'actions-' + key.id".

+0

Sie Index verwenden könnte. '* ngFor =" lass Schlüssel der Schlüssel; lass i = index; trackBy: trackByFn "' und dann '[ref] =" 'actions-' + index "' –

+0

Ja, danke, aber es sieht aus wie eckig nicht wissen eine solche Richtlinie wie "[ref]". – Efog

Antwort

3

Wie der Kommentar empfiehlt Ihnen, den Index verwenden würde:

<div class="dt-row" *ngFor="let key of keys; let i = index;"> 
      <popover-content #i 
          title="Actions" 
          placement="bottom" 
          [animation]="false" 
          [closeOnClickOutside]="true" 
          [closeOnMouseOutside]="false" > 
       {{key.interestingInfo}} 
       <a>Edit - {{key.name}}</a> 
       <a>Delete - {{key.name}}</a> 
      </popover-content> 

      <div [popover]="i"> 
       {{key.clickText + key.name}} 
      </div> 
    </div> 
</div> 

Und hier ist ein Link zu einem Arbeits Plunker das Popup-Inhalt demonstriert hat unterschiedliche Inhalte: http://plnkr.co/edit/kVJSnn?p=preview

+0

Wow, das funktioniert wirklich O_o Ich verstehe nicht wie, aber danke! – Efog

Verwandte Themen