ActivatedRouteSnapshotをコンポーネントに注入することは機能しておらず、どちらもActivatedRouteを注入していません。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]
})
ここにスタックトレースは次のよう
"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を注入しますそれは、コンストラクタのパラメータに追加するのと同じくらい簡単であるべきドキュメントによるとhttps://stackoverflow.com/a/38997116/3433306
::私は、クエリにアクセスしようとしている
それがここで行われている方法と同様にparamsはhttps://angular.io/docs/ts/latest/api/router/index/ActivatedRouteSnapshot-interface.html
私は何ActivatedRouteSnapshotを正常に挿入するための行方不明?
AFAIK 'ActivatedRouteSnapshot'はプロバイダではありません。あなたのコンポーネントにルーティングするあなたのアプリケーションのためのルータを持っている限り、あなたはそれにスナップショットを注入するだけで何も必要なくなります。 – Zircon
'Provided:[[...]、ActivatedRouteSnapshot]'から 'ActivatedRouteSnapshot'を削除します。それはルーティングモジュールによって自動的に提供されます –
プロバイダのリストからそれを削除すると、./LoginPageComponentクラスのError:Error LoginPageComponent - インラインテンプレート:6:10原因:ActivatedRouteSnapshotのプロバイダがありません!私はLoginFormComponentに、エラーに記載されたLoginPageComponentの子である)を注入しようとしています。 – studersi