我在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();
}
当执行所需操作时,从另一个组件发出一个事件,并在父组件中捕获该事件并调用自定义方法((