¿Cómo puedo escribir atributos de datos usando Angular?

Resuelto Serj Sagan asked hace 8 años • 2 respuestas

Siento que me falta algo. Cuando intento usar a data attributeen mi template, así:

<ol class="viewer-nav">
    <li *ngFor="#section of sections" data-sectionvalue="{{ section.value }}">
        {{ section.text }}
    </li>
</ol>

Angular 2choca con:

EXCEPCIÓN: Errores de análisis de plantilla: no se puede vincular al 'valor de sección' ya que no es una propiedad nativa conocida ("

]data-sectionvalue="{{ sección.valor }}">{{ sección.texto }}

Obviamente me falta algo con la sintaxis, por favor ayuda.

Serj Sagan avatar Dec 31 '15 14:12 Serj Sagan
Aceptado

Utilice la sintaxis de enlace de atributos en su lugar

<ol class="viewer-nav"><li *ngFor="let section of sections" 
    [attr.data-sectionvalue]="section.value">{{ section.text }}</li>  
</ol>

o

<ol class="viewer-nav"><li *ngFor="let section of sections" 
    attr.data-sectionvalue="{{section.value}}">{{ section.text }}</li>  
</ol>

Ver también :

  • ¿Cómo agregar atributo condicional en Angular 2?
Günter Zöchbauer avatar Dec 31 '2015 07:12 Günter Zöchbauer

Acerca del acceso

<ol class="viewer-nav">
    <li *ngFor="let section of sections" 
        [attr.data-sectionvalue]="section.value"
        (click)="get_data($event)">
        {{ section.text }}
    </li>  
</ol>

Y

get_data(event) {
   console.log(event.target.dataset.sectionvalue)
}
Maksym Shmelyov avatar May 29 '2018 10:05 Maksym Shmelyov