如何在将对象属性作为参数传递时使用连字符

时间:2017-08-03 13:44:34

标签: javascript angular

我正在尝试将object属性作为参数传递。 Object键包含连字符。

对象

{
    "section-id": 1,
    ...
}

HTML

<div *ngFor="let section of sections"
 (trackScrollLeave)="leave(section.section-id)"></div>

零件

ngOnInit() {
    this.retrieveDataService.fetchData().subscribe(data=>{
            this.sections = data;
       });
  }

  leave(value) {
    console.log('Scroll left '+ value);
  }
}

它在控制台中输出NAN。如果使用驼峰式sectionId,它就可以工作。

1 个答案:

答案 0 :(得分:1)

代码正在读取section.section - id(undefined - undefined = NaN)尝试

<div *ngFor="let section of sections (trackScrollLeave)="leave(section['section-id'])"></div>
支架属性访问器上的

资源 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors