web-dev-qa-db-ja.com

Angular2ルーター:「HomeComponent」をロードするプライマリコンセントが見つかりません

バージョン「@ angular/router」のように新しいルーターに切り替えようとしました:「3.0.0-beta.2」と「@ angular/*」の組み合わせ:「2.0.0-rc.4」、 ComponentRouter。

ただし、デフォルトのHomeComponentを使用してアプリをロードしようとすると問題が発生します。

Cannot find primary outlet to load 'HomeComponent'

これは、インラインテンプレートスタイルを使用する代わりに、templateUrlと外部htmlファイルを使用することに関係しているようです。

HomeComponentは最初はウィンドウに表示されず、エラーはコンソールに出力されます。ただし、ホームコンポーネントへのリンクを使用すると、実際に表示されます。

私がから変わるとすぐに

templateUrl: 'home.html'

template: '<router-outlet></router-outlet>'

エラーがなくなり、HomeComponentが表示され、ルーティングは期待どおりに機能します。

それは既知の問題ですか? templateUrlを使用しているユーザーに対して機能しますか?動作させるために尊重しなければならないものはありますか?

18
Thorsten Viel

問題は、アプリの読み込み画面のために、<router-outlet></router-outlet>は、競合状態が原因でまだ存在していなかった。アウトレットを含むHTMLパーツを非表示にする必要がある場合は、[hidden] の代わりに *ngIf、アウトレットが常にDOMにあり、条件付きで削除されないようにします。

27
Thorsten Viel