使用angular8在循环中传递参数onClick
我有一个对象数组。我正在迭代in循环,并将每个项目的名称传递给onClick,它指向Assets文件夹中app.js
文件中的函数openIt(val)
。IE
角度代码:
<div *ngFor="let item of listArray">
<button class="tabopen" onclick="openIt(item.name)">{{item.name}}</button>
</div>
app.js代码:
function openIt(data) {
console.log(data);
}
在我的app.js文件的OpenIt函数中,我没有获得item.name。在我的控制台中,它显示错误项未定义。但当我传递静态数据时,即onclick="openIt('sample_data')"
没有显示任何错误。
尽管item.name也存在,但我也获得了正确的值。我不明白为什么我无法将迭代数据传递给参数。
解决方案
如果您使用Angular
,则应该使用(click)
,因为声明事件处理程序时,您需要将DOM
事件名称括在parentheses
中,并为其分配template statement。
<button class="tabopen" (click)="openIt(item.name)">{{item.name}}</button>
相关文章