angular 传递参数给调用函数
angular pass parameters to calling function
我有 hyperlink 和 id 参数
<a [routerlink]="[]" class="someclass" id="12">test</a>
在脚本中我通过这个
添加了对该元素的函数调用
this.elementRef.nativeElement.querySelector('.someclass').addEventListener('click', this.someFunc.bind(this));
这是一些函数
someFunc(param){
console.log('someFunc: '+param);
}
当我 运行 应用程序并按下那个 link 我在控制台中得到这个:
someFunc: [object MouseEvent]
如何将 hyperlink 的 'id' 参数发送到该函数?
尝试来自 Aakash Garg
的解决方案
this.elementRef.nativeElement.querySelector('.someclass').addEventListener('click', (e) => this.someFunc(e.target.id));
用于测试直接打印:
(e) => console.log('test: '+e.target.class) > prints out test: undefined
(e) => console.log('test: '+e.target.id) > prints out test:
您可以使用 angular click-handler。以您的方式添加事件侦听器存在的问题是它可能 运行 在 angular 区域之外并导致问题。
<a [routerlink]="[]" class="someclass" (click)="someFunc('12')" id="12">test</a>
this.elementRef.nativeElement.querySelector('.someclass').addEventListener('click', (e) => this.someFunc(e.id));
我有 hyperlink 和 id 参数
<a [routerlink]="[]" class="someclass" id="12">test</a>
在脚本中我通过这个
添加了对该元素的函数调用this.elementRef.nativeElement.querySelector('.someclass').addEventListener('click', this.someFunc.bind(this));
这是一些函数
someFunc(param){
console.log('someFunc: '+param);
}
当我 运行 应用程序并按下那个 link 我在控制台中得到这个:
someFunc: [object MouseEvent]
如何将 hyperlink 的 'id' 参数发送到该函数?
尝试来自 Aakash Garg
的解决方案this.elementRef.nativeElement.querySelector('.someclass').addEventListener('click', (e) => this.someFunc(e.target.id));
用于测试直接打印:
(e) => console.log('test: '+e.target.class) > prints out test: undefined
(e) => console.log('test: '+e.target.id) > prints out test:
您可以使用 angular click-handler。以您的方式添加事件侦听器存在的问题是它可能 运行 在 angular 区域之外并导致问题。
<a [routerlink]="[]" class="someclass" (click)="someFunc('12')" id="12">test</a>
this.elementRef.nativeElement.querySelector('.someclass').addEventListener('click', (e) => this.someFunc(e.id));