【发布时间】:2019-07-25 09:27:08
【问题描述】:
在包装有角度应用程序的科尔多瓦应用程序中,单击后退按钮后,该应用程序似乎不再处于“角度区域”中,因此如果我之后单击任何路由器链接,它什么也不做并抛出错误@ 987654322@?
已尝试将“pathMatch:'full'”添加到路由。
还在这里尝试了解决方案:Angular 7 routerLink directive warning 'Navigation triggered outside Angular zone' 并且它有效,但我宁愿不必在每一页上写 this.ngZone.run(() => this.router.navigateByUrl(''))。感觉 routerLink="" 语法简洁多了。
我点击的按钮如下所示:
<button type="button" class="btn btn-success btn-wide" routerLink="/search-by-keyword">
它中断的代码如下(注意所有的布尔值都是真的)
navigateByUrl(url, extras = { skipLocationChange: false }) {
if (isDevMode() && this.isNgZoneEnabled && !NgZone.isInAngularZone()) {
this.console.warn(`Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?`);
}
如果我只是在 Angular 中运行它,它就可以正常工作。但是当我运行包装它的cordova应用程序时,它失败了。这甚至是我需要担心的事情,因为这个错误只发生在 DevMode 中?
提前致谢。
【问题讨论】:
标签: angular cordova angular-routerlink ngzone