Kru*_*nal 13 angular angular-lifecycle-hooks
请在此代码中解释,
当我调用另一个方法时,如何再次调用ngOnInit()
ngOnInit(): void {
this.route.params.subscribe((params: Params) => {
this.model=this.userData;
});
}
update() {
this.loading = true;
this.userService.update(this.model)
.subscribe(
data => {
alert ('Update successful');
},
error => {
alert ('Not updated');
this.loading = false;
});
this.user_data();
}
Run Code Online (Sandbox Code Playgroud)
may*_*yur 23
从我的观点来看,有两种选择:
从另一个函数范围调用ngOnInit().但我建议不要采用这种方法,因为它
ngOnInit是属于OnInit接口的角度核心方法.
public ngOnInit() {
this.route.params.subscribe((params: Params) => {
this.model=this.userData;
});
}
update() {
this.ngOnInit();
}
Run Code Online (Sandbox Code Playgroud)
将您的功能分解为另一个功能,用于
ngOnInit调用它,之后,可以通过以下方式调用该功能从任何地方发出任何请求:this.<MethodName>();.
public ngOnInit() {
this.getRouteData();
}
update() {
this.getRouteData();
}
getRouteData() {
this.route.params.subscribe((params: Params) => {
this.model=this.userData;
});
}
Run Code Online (Sandbox Code Playgroud)
Har*_*Das 18
如果目的是ngOnInit()在查询参数更新时触发,则执行以下操作:
import { Router } from '@angular/router';
constructor(private router: Router) {
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30869 次 |
| 最近记录: |