2017-09-20 2 views
2
<div class="content"> 
    <md-tab-group> 
    <md-tab label="label1" (click)="passSourceOfDocuments()"> 
     <details *ngFor="let package of documentPackages"> 
     <summary>{{package.documentPackageGuid}}</summary> 
     <ul> 
      <details *ngFor="let doc of package.Documents"> 
      <summary>{{doc.documentGuid}}</summary> 
       .......... 
      </details> 
     </ul> 
     </details> 
    </md-tab> 
    <md-tab label="label2" (click)="passSourceOfDocuments()"> 
     <details *ngFor="let doc of emaildocuments"> 
      ...................... 
     </details> 
    </md-tab> 
    </md-tab-group> 
</div> 

Ich würde Name der Bezeichnung in Funktion übergeben "passSourceOfDocuments()" ist es möglich? Kann ich dieses Label mit der Eigenschaft in der .ts-Datei verknüpfen?Angular pass Name des Etiketts

+0

Haben Sie es Wert oder das Element selbst zu den acces wollen? – Vega

+0

@Vega Ich möchte nur Zugriff auf Label-Wert –

Antwort

3

Wenn Sie eine ‚Vorlage Referenzgröße‘ hinzufügen können, um jedes Ihrer <md-tab> Elemente, dann könnte man ihnen in der Funktion wie diese verweisen,

<md-tab #tab1 label="label1" (click)="passSourceOfDocuments(tab1.textLabel)"> 
<md-tab #tab2 label="label2" (click)="passSourceOfDocuments(tab2.textLabel)"> 

Oder wenn Sie haben eine Reihe von Etiketten deklariert als eine Eigenschaft in der Komponentendatei, dann kann man sie durch einen Index oder eine ähnliche Einrichtung, fügt

Komponente

Vorlage

<md-tab [label]="labelsArr[0]" (click)="passSourceOfDocuments(labelsArr[0])"> 
<md-tab [label]="labelsArr[1]" (click)="passSourceOfDocuments(labelsArr[1])"> 
+0

es sieht gut aus, aber wenn ich auf Tab-Funktion nicht in .ts Datei ausführen ich benutze passSourceOfDocuments (info: any) { console.log (info); } –

+0

verwenden Sie den ersten Ansatz? Wenn ja, können Sie sehen, ob die Methode überhaupt ausgeführt wird, wenn Sie auf eine MD-Registerkarte klicken? – amal

+0

@amal Ich ändere Event und Ort jetzt benutze ich es ist Arbeit –