当我在本地运行我的应用程序时,没有任何问题,但是当我尝试导航到页面时,将应用程序托管(在firebase托管上)时,会出现以下错误:
Cannot read property 'runOutsideAngular' of undefined
。因为代码最小化了main.js,所以我似乎找不到引发错误的原因。当路由器应导航到其他页面时,将引发错误。
{
path: 'manage/:bookingid',
component: ManageBookingComponent
},
两个页面都使用Angular材质Sidenav(将它们从页面中删除不会解决该错误)。我找到了这个StackOverflow问题,但似乎没有一个答案。
我尝试使用模板路由:
[routerLink]="['/', 'manage', booking.id]"
和组件路由:
this.router.navigateByUrl(`/manage/${booking.id}`)
或
this.router.navigate(['/', 'manage', booking.id])
在本地,所有这些选项都有效,但是这是另外一个故事。
编辑:进一步的研究可能表明它是Angular Material和Router之间的问题,请参阅此SO question
答案 0 :(得分:0)
这是AoT编译器的问题。由于AoT,它会在您的生产版本中发生。解决方法是转到tsconfig.json
,然后将target
下的es5
更改为compilerOptions
。