私は別のコンセントにロードする必要があります子供とのルーティングを使用しています。 すべてのコンポーネントは、/ appフォルダ内に直接配置されます。角2のルーティング子供とルータのアウトレット
app.router.ts:
export const router: Routes = [
{ path:'dashboard', canActivate:[AuthguardGuard], component: DashboardComponent },
{ path:'', component: LoginComponent },
{
path: 'dashboard', component: DashboardComponent,
children: [
{ path:'features', component: FeaturesComponent, outlet:
{ path:'signup', component: SignupComponent, outlet: 'content' },
{ path:'more', component: MoreComponent, outlet: 'content',
{ path: '**', component: PageNotFoundComponent }
]
}
];
dashboard.component.html:下のアプリケーションをロードするとき
<a [routerLink]="['./']">Overview</a>
<a [routerLink]="['features']">Features</a>
<a [routerLink]="['details']">How To</a>
<a [routerLink]="['more']">SignUp</a>
<a [routerLink]="['signup']">SignUp</a>
:http.//localhsot:4200
、私が最初にロードされた(ログインコンポーネント/ページで始まりますデフォルトでは名前のないルータアウトレット)があり、ユーザを確認してパスします。その後、ダッシュボードコンポーネント/ページ(AuthguardGuardを使用)に移動します。 URLは次のようになります。「コンテンツ」
app.component.ts:
<main class="mdl-layout__content">
<div class="mdl-layout__tab-panel is-active" id="overview">
<router-outlet></router-outlet>
<router-outlet name="content"></router-outlet>
</div>
</main>
私は他のページ/コンポーネントにナビゲートできるようにしたい、と彼らは口にロードする必要があるダッシュボードページから
http://localhost:4200/dashboard
私はプラットホームでここで見つかった提案はほとんど試していませんが、どれも役に立たなかったのです。例えば:のような <a [routerLink]="['signup', {outlets: {content: 'signup'}}]">SignUp</a> <a [routerLink]="['../signup']">SignUp</a>
しかし、それは動作しませんでした...別のエラー: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'signup'
I'amが間違っているものを任意のアイデアや私が何を変更したりしてください追加する必要がありますか?
私の答えはあなたの質問を解決しましたか? – brijmcq
残念ながら..同じエラー: 'キャッチされていない(約束しています):エラー:どのルートにも一致しません。 URLセグメント: 'signup'' –
これは私が同じ問題を抱えているため、これに対する修正を見つけましたか?しかし、私のために、{アウトレット:{コンテンツ: 'サインアップ'}}}が働いていました。私は使用できないURLを作成しました。 –