是否可以触发其中包含参数的函数,例如trigger(id)
中的ngOnInit
?
我有一个函数,我想在(click)
事件和ngOnInit
中触发,所以当页面首次加载时,触发基本相同的函数,因为它调用相同的API端点
在ngOnInit
getOrdersFromOrigin(id: number): void {
...
}
所以ngOnInit
会是这样的吗?它显示错误"找不到姓名' id'"
ngOnInit() {
this.getOrdersFromOrigin(id);
}
ID来自我的ngFor
,它是Id
项目,我想点击(click)="getOrdersFromOrigin(id)"
答案 0 :(得分:1)
如果它在路上像param那样你可以处理它。例如,如果您通过单击编辑按钮编辑表中的某些记录,那么您的应用程序将导航到编辑表单,您可以像这样处理它:
(function(i){
$('#input' + i).on('keyup', function() {
if($('#input' + i).val().length > 5) {
$('#input' + i).val($('#input' + i).val() + '<br>');
}
});
}(i))
答案 1 :(得分:0)
param id在getOrdersFromOrigin()中,因此在ngOnInit()的范围内无效,我的建议是你可以声明一个属性 id 并将其标记为 @Input()。然后你可以在外面使用它。代码如下:
export class SameComponent implement OnInit {
@Input() id:number=0; //initialize
getOrdersFromOrigin(id: number): void {
...
}
ngOnInit() { this.getOrdersFromOrigin(id);}
}