通常、私はこのように私のコンポーネントに行きます。注入することなく角度ルータのインスタンスを取得するにはどうすればよいですか?
import { Router } from "@angular/router";
@Component({ ... })
export class CompyTheComponent {
constructor(private router: Router) {
console.log(router.url);
}
}
私はそれを注入せず、それの参照を取得したい場合は?私はそれを作成しようとしましたが、私が理解できなかったすべてのパラメータで亡くなりました。それは一般的な(推奨されていない)方法ではないので、それにはあまりgooglearchがありません。あなたのmain.ts
に続いて
import { Injector } from "@angular/core";
let appInjectorRef: Injector;
export function appInjector (injector?: Injector): Injector {
if (!injector) {
return appInjectorRef;
}
appInjectorRef = injector;
return appInjectorRef;
}
:
let routy : Router = new Router(...);
なぜ注射したくないですか? – Zircon
@ジルコン私はそれが**できるかどうか不思議です**。私は一度静的な方法を助けてセットアップしていたので、それが問題になったのです。私はそれが珍しいアプローチだと認めます。問題は、実用的ではなく学問的なものです。 –
ルーターは、すべての依存関係も手動でインスタンス化する必要がある複雑なプロバイダーです。依存関係には、コンパイラやインジェクタのようなコアなものが含まれています。あなたは手でAngularアプリ全体を最初から作り直すことになります。可能な理論では、実際には時間の無駄です。 – estus