將ActivatedRouteSnapshot注入組件不起作用(並且兩者都不注入ActivatedRoute)。這裏堆棧跟蹤:無法注入ActivatedRouteSnapshot
"Error: Can't resolve all parameters for ActivatedRouteSnapshot: (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?).
at SyntaxError.ZoneAwareError (http://localhost:4200/polyfills.bundle.js:7042:33)
at SyntaxError.BaseError [as constructor] (http://localhost:4200/vendor.bundle.js:73735:16)
at new SyntaxError (http://localhost:4200/vendor.bundle.js:6140:16)
at CompileMetadataResolver._getDependenciesMetadata (http://localhost:4200/vendor.bundle.js:19345:31)
at CompileMetadataResolver._getTypeMetadata (http://localhost:4200/vendor.bundle.js:19220:26)
at CompileMetadataResolver._getInjectableMetadata (http://localhost:4200/vendor.bundle.js:19208:21)
at CompileMetadataResolver.getProviderMetadata (http://localhost:4200/vendor.bundle.js:19450:40)
at http://localhost:4200/vendor.bundle.js:19408:49
at Array.forEach (native)
at CompileMetadataResolver._getProvidersMetadata (http://localhost:4200/vendor.bundle.js:19375:19)
at CompileMetadataResolver.getNonNormalizedDirectiveMetadata (http://localhost:4200/vendor.bundle.js:18848:30)
at CompileMetadataResolver._loadDirectiveMetadata (http://localhost:4200/vendor.bundle.js:18736:23)
at http://localhost:4200/vendor.bundle.js:18937:54
at Array.forEach (native)
at CompileMetadataResolver.loadNgModuleDirectiveAndPipeMetadata (http://localhost:4200/vendor.bundle.js:18936:41)"
在組件中,ActivatedRouteSnapshot注入如下:
constructor([...], private router: Router,
private route: ActivatedRouteSnapshot) {
[...]
}
ActivatedRouteSnapshot在app.component.ts
提供:
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [[...], ActivatedRouteSnapshot]
})
我試圖訪問查詢同樣PARAMS它是如何在這裏完成:https://stackoverflow.com/a/38997116/3433306
按照文檔應該是簡單,因爲它增加了構造函數的參數:https://angular.io/docs/ts/latest/api/router/index/ActivatedRouteSnapshot-interface.html
我是什麼缺少成功注入ActivatedRouteSnapshot?
AFAIK'ActivatedRouteSnapshot'不是供應商。只要你的應用程序路由器連接到你的組件,你可以簡單地將快照注入到其中,而不需要其他任何東西。 – Zircon
從'providers:[[...],ActivatedRouteSnapshot]''中刪除'ActivatedRouteSnapshot''。它由路由模塊自動提供 –
當我從提供程序列表中刪除它時,出現錯誤:錯誤:./LoginPageComponent類LoginPageComponent - 內聯模板中的錯誤:6:10由以下原因引起:沒有ActivatedRouteSnapshot!提供程序!我試圖在LoginFormComponent中注入錯誤中提到的LoginPageComponent的子項) – studersi