javascript - Angular pasar nombre de etiqueta
<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>
¿Podría pasar el nombre de la etiqueta en la función "passSourceOfDocuments()"? ¿Es posible? ¿Puedo enlazar esta etiqueta con una propiedad en el archivo .ts?
Respuesta #1
Si puedes agregar una 'variable de referencia de plantilla' a cada uno de tus elementos <md-tab>, entonces podrías referirte a ellos en la función así,
<md-tab #tab1 label="label1" (click)="passSourceOfDocuments(tab1.textLabel)">
<md-tab #tab2 label="label2" (click)="passSourceOfDocuments(tab2.textLabel)">
O si tienes un arreglo de etiquetas declarado como una propiedad en el archivo del componente, entonces puedes agregarlas por índice o algún medio similar,
componente
labelsArr = ['label1', 'label2', 'label3'];
plantilla
<md-tab [label]="labelsArr[0]" (click)="passSourceOfDocuments(labelsArr[0])">
<md-tab [label]="labelsArr[1]" (click)="passSourceOfDocuments(labelsArr[1])">
