Angular 2数据属性

Ser*_*gan 197 angular2-template angular

我觉得我错过了什么.当我尝试data attribute在我的中使用时template,像这样:

<ol class="viewer-nav">
    <li *ngFor="#section of sections" data-value="{{ section.value }}">
        {{ section.text }}
    </li>
</ol>
Run Code Online (Sandbox Code Playgroud)

Angular 2 崩溃:

EXCEPTION:模板解析错误:无法绑定到"sectionvalue",因为它不是已知的本机属性("

] data-sectionvalue ="{{section.value}}"> {{section.text}}

我显然遗漏了一些语法,请帮忙.

Gün*_*uer 417

请改用属性绑定语法

<ol class="viewer-nav"><li *ngFor="let section of sections" 
    [attr.data-sectionvalue]="section.value">{{ section.text }}</li>  
</ol>
Run Code Online (Sandbox Code Playgroud)

要么

<ol class="viewer-nav"><li *ngFor="let section of sections" 
    attr.data-sectionvalue="{{section.value}}">{{ section.text }}</li>  
</ol>
Run Code Online (Sandbox Code Playgroud)

另请参见如何在Angular 2中添加条件属性?

  • 我如何访问数据属性的值? (20认同)
  • 这应该是Googles#1的答案*不能绑定到'',因为它不是''*查询的已知属性.这个评论可能会有所帮助...... (10认同)
  • 请创建一个新问题,其中包含一些代码,用于演示您尝试完成的任务. (3认同)
  • @netzaffin这是一个有用的答案,但我多次遇到无法绑定错误,这是第一次这是实际的问题/解决方案。 (2认同)

Max*_*yov 29

关于访问

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

get_data(event) {
   console.log(event.target.dataset.sectionvalue)
}
Run Code Online (Sandbox Code Playgroud)