【问题标题】:Angular 8: Cannot read property 'runOutsideAngular' of undefinedAngular 8:无法读取未定义的属性“runOutsideAngular”
【发布时间】:2019-12-09 17:34:04
【问题描述】:

当我在本地运行我的应用程序时,没有任何问题,但是当我尝试导航到页面时,当应用程序托管(在 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 和路由器之间的问题,请参阅SO question

【问题讨论】:

  • 抱歉,您提供的信息不足以回答/解决您的问题。
  • @HimanshuSingh 还有哪些有用的信息?
  • 首先你可以告诉我们你在哪里使用函数runOutsideAngular
  • @Batajus 据我所知我没有使用它...在我的项目中搜索“runOutsideAngular”没有结果

标签: angular routes angular-material


【解决方案1】:

这是 AoT 编译器的问题。由于 AoT,它会发生在您的生产构建中。解决方法是转到tsconfig.json 并将target 更改为es5compilerOptions 下。

我会先试试你的@angular-versions,因为issue is closed.

【讨论】:

  • 当前使用 Angular 8 并且 "target": "es5" 已设置
猜你喜欢
  • 1970-01-01
  • 2021-11-01
  • 1970-01-01
  • 2020-05-06
  • 2020-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多