当我导航到ngZone中的url时,OnInit方法未被调用



我有两个组件,我正在尝试导航到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"]);
});

最新更新