【发布时间】:2020-04-25 16:00:48
【问题描述】:
我有一个对象数组。我在循环中迭代并将每个项目的名称传递给 onclick ,该名称针对位于 assets 文件夹中的 app.js 文件中的函数 openIt(val) 。即
角度代码:
<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。在我的控制台中,它显示 item is not defined 的错误。但是当我传递静态数据时,即onclick="openIt('sample_data')"它不会显示任何错误。
即使 item.name 也存在,我也得到了正确的值。我不明白为什么我不能将迭代数据传递给参数。
【问题讨论】:
-
使用(点击)="功能"。
-
我想在我的 app.js 文件中定位函数,该文件不在同一个组件中。当我使用(单击)时,它会在我的 .ts 文件中查找 openIt() 并显示 openIt 不是函数
-
所以基本上你想调用另一个组件的函数,你可以使用共享服务看这个例子(stackblitz.com/edit/angular-shared-service)
-
@SameerKhan 不,我希望我的组件与资产文件夹中的简单 app.js 文件进行通信
-
@AhmadHabib 你在使用 angularJs 还是 angular>=2
标签: javascript parameter-passing angular8 ngfor