【发布时间】:2017-07-29 06:59:08
【问题描述】:
我正在使用带有 angular 2 的 yoeman aspnetcore-spa 模板。
基本上有3个文件:
- app.module.client.ts
- app.module.server.ts
- app.module.shared.ts
我已将我的服务放入 app.module.client.ts 的提供商中,然后在 app.module.shared.ts 中添加了我的路由。这一切都很好,我可以导航到它,但是当我尝试用我的新路径替换 redirectTo 时。此时仍然可以,但是当我从localhost:5000 进入页面时,控制台会发出错误提示:
fail: Microsoft.AspNetCore.NodeService[0] blah bla Uncaught (in promise): Error: No provider for NameService!
还有一些at injectionError
如果我更改redirectTo: 'home',那么它可以工作,我可以导航到我的页面。更糟糕的是,当我拥有{ useHash: true } 时,它不会停止在终端中记录错误。
我尝试使用路由器导航到我在HomeComponentngOnInit() 中的页面,哪种方法可行,但是当我从localhost:5000 进入页面时仍然有问题。我没有尝试过用我的替换HomeComponent。
我真正想要的是了解正在发生的事情。老实说,我是这个模板的新手,通常只有一个app.module.ts。这个模板中有一些我不明白的地方。请帮忙!
【问题讨论】:
-
您似乎缺少在您的
AppModule的提供者数组中添加NameService -
我在帖子中提到我已经将我的服务放在 app.module.client.ts 中。如果我不这样做,我一开始就不会工作。再清楚一次。这是第一次渲染页面时服务失败的情况。当我使用我的应用程序从 localhost:5000 进入时,重定向到我的页面。如果我重定向到默认主页然后导航到我的页面,那么它将起作用。我确信这与依赖注入无法正常工作有关,无论是我还是框架或模板。
标签: asp.net angular typescript asp.net-core routing