【问题标题】:Angular 2 Router uncaught promiseAngular 2 路由器未兑现的承诺
【发布时间】:2017-01-16 13:36:47
【问题描述】:

app.routing.ts

const routes: Routes = [  
    { path: '', redirectTo: 'contact', pathMatch: 'full'},
    { path: 'projects', loadChildren: 'app/projects/projects.module#ProjectsModule' },
    { path: 'hello', loadChildren: 'app/my-project/my-project.module#MyProjectModule' }
];

仅加载接触路径,但带有 loadChildren 的路径会出现以下错误:

error_handler.js:50 
EXCEPTION: Uncaught (in promise): TypeError: Cannot set property 'stack' of undefined 
TypeError: Cannot set property 'stack' of undefined at NoProviderError.set [as stack] 

我正在关注官方文档,但没有运气,更改为绝对路径有效,但是我必须导入每个功能模块的根组件,说必须导入 ProjectsComponent,它是 ProjectsModule 的根。

占卜路线如下,这就是我想要的::

怎么了!!

【问题讨论】:

  • 此堆栈错误发生在未使用延迟加载进行编译时。尽管如此,你的日志告诉at NoProviderError.set [as stack],所以你应该检查你的modules,看看你有没有忘记。
  • 我在本地机器上检查了angular.io/resources/live-examples/ngmodule/ts/eplnkr.html,它可以工作。角度 CLI 是否有问题
  • 我不确定这是否是同一个问题,但在使用 Karma 运行单元测试时,我也收到错误“无法设置未定义的属性‘堆栈’”。我可以通过将 zone.js 升级到 0.7.4 来修复它:npm install --save zone.js@0.7.4
  • @Jim 谢谢哥们!它也对我有用

标签: angular angular2-routing


【解决方案1】:

你可能想看看这个.. Angular issue 13941

【讨论】:

    【解决方案2】:

    为了清楚起见,我自己在 Jim 评论中添加了答案

    我不确定这是否是同一个问题,但在使用 Karma 运行单元测试时,我也收到错误“无法设置未定义的属性‘堆栈’”。我可以通过升级 zone.js 来修复它到 0.7.4:

    npm install --save zone.js@0.7.4 – Jim 1 小时前

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 2016-10-21
      • 1970-01-01
      相关资源
      最近更新 更多