对角度中的特定组件调用ngOnInit



我在delete.component.ts:中有函数

onDelete() {
//to delete data in server based on device id
this.httpService.deleteDataFromServer(this.data.apiToSend).subscribe((resp) => {
if(resp.status == 'SUCCESS'){
location.reload() <---- HERE my goal
}
})
}

我有多个组件,如simcard:

deleteDevice(id){
this.dialog.open(DeleteDevicePopupComponent, {
data:{
deviceType: 'SIM Card',
apiToSend: 'api/simcard?id='+id
}
})
}

一切都好当我点击删除时直接调用这个函数并删除数据一切都好。。。

我在中的问题是,我不想使用location.reload(),而不是这个。我想使用this.ngOnInit((在同一个组件中重新加载,但我在其他组件中,所以我如何在其他组件调用ngOnIni((?

图形:应用函数删除--->在函数体中,将ngOnInit应用于组件(simcard示例(。

我尝试将this.ngOnInit()直接添加到相同的组件(simcard not delete.component)中:

deleteDevice(id){
this.dialog.open(DeleteDevicePopupComponent, {
data:{
deviceType: 'Camera',
apiToSend: 'api/dash_cam_device?id='+id
},
})
this.ngOnInit();
}

但不能工作!

看看

ComponentRef来自"@angular/core";

我想你可以用它实现

ngOninit()中的代码包装到另一个方法中,并从ngOninit()调用它

ngOninit(){
this.yourMethod();
}

当执行所需操作时,从另一个组件发出一个事件,并在父组件中捕获该事件并调用自定义方法((

最新更新