我有两个组件,我正在尝试导航到NgZone方法中的URL。但是我面临的问题是当我导航时没有调用 OnInit 方法。下面的 id 代码:
ngOnInit() {
this._zone.run(() => {
window['navigate'] = () => {
this.route.navigate(['/users'];
};
});
}
使用上面的代码,我可以导航到/users URL。但是UsersComponent
onInit()
方法不会在导航中被调用。
我一直在寻找解决方案,似乎在ngZone中我正在导航超出角度范围。所以我尝试使用ChangeDetectorRef
但它不起作用,因为我正在离开 URL。如果我的理解正确,请告诉我,并建议我可能的解决方案。
尝试将 router.navigate(( 放入单独的"区域"中:
进口:
import { NgZone } from "@angular/core";
注入:
constructor(private zone: NgZone) { ... }
应用:
this.zone.run(() => {
this.router.navigate(["/users"]);
});