私は複数のルーティングファイルをどのように整理して一緒にうまく動作させるのかを理解しようとしています。ネストAngular2 RC5複数のファイルをルーティングする
私の希望ルートは次のようになります。
/
/forms
/forms/:id
/forms/named-form (named-form2, named-form3, etc.)
/forms/named-form(2,3,etc)/admin
/forms/named-form(2,3,etc)/admin/(several options here)
私の目的のファイル編成:
/app.module
/app.routes
/app.component <--Router Outlet
/forms/forms.module
/forms/forms.routes
/forms/forms.component <--Router Outlet for displaying Form Creation, Details, Settings, etc.
/forms/named-form/named-form.module
/forms/named-form/named-form.routes
/forms/named-form/named-form.component <--Router Outlet for displaying Form or Admin section
/forms/named-form/admin/admin.module
/forms/named-form/admin/admin.routing
/forms/named-form/admin/admin.component <--Router Outlet for various admin pages
私は今のものを持っている方法:
/forms.routing.ts
をconst formsRoutes: Routes = [
{
path: 'forms',
component: FormsComponent,
children: [
{ path: '', component: FormsListComponent },
{ path: ':id', component: FormsListComponent }
]
}
];
export const formsRouting = RouterModule.forChild(formsRoutes);
/forms/named-form.routing.ts
const namedFormRoutes: Routes = [
{
path: 'forms/named-form',
component: NamedFormComponent,
children: [
{
path: '',
component: NamedFormFormComponent,
},
{
path: 'confirmation',
component: NamedFormConfirmationComponent
}
]
}
];
/forms/named-form/admin.routes.ts
const namedFormAdminRoutes: Routes = [
{
path: 'forms/named-form/admin',
component: NamedFormAdminComponent,
children: [
{
path: '',
component: ManageDataComponent,
},
{
path: 'manage-data',
component: ManageDataComponent
},
{
path: 'settings',
component: SettingsComponent
},
{
path: 'import',
component: ImportDataComponent
}
]
}
];
これは主に動作しますが、それに私が持っているいくつかの問題があります。私はネストされたルートに深く行くほど完全なパスを指定する必要はなかったと思います。例えば、管理者のパスはforms/named-form/admin
ですが、私はそれがすでにnamed-form
の子であることを知りたいと思います。これは私が何か間違っていると思うように導くものの一つです。
私もadmin.component
に影響しますが、私はforms/named-form/admin
に移動した場合named-form.component
が現在触れません、私のnamed-form.component
ファイルで物事を行うことができるようにする必要があります。それはnamed-form.component
ルーターアウトレットの代わりに、ルータのアウトレットapp.component
を使用して終了します。 のパスをnamed-form.routes
ファイルに含めることはできますが、管理者の子ルートをセットアップする方法もわからないので、すべてのメイン管理者の子コンポーネントもインポートする必要はありません。
私のモジュールを見てする必要がある場合、私はわからないんだけど、もしそうなら、私はそれらを追加します。
どのように私はこれよりよく行うことができますか?探してくれてありがとう。
優れた品質のコードをアップしてください! :D :) = D – Ant