Ich versuche zu verstehen, wie ich mehrere Routing-Dateien organisieren und sie alle schön zusammen spielen soll.Schachteln von Angular2 RC5-Routen Mehrere Dateien
Meine gewünschten Routen wie folgt aussehen:
/
/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)
Meine gewünschte Dateiorganisation:
/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
So wie ich die Dinge jetzt haben:
/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
}
]
}
];
Diese meist funktioniert, aber es gibt ein paar Probleme, die ich mit ihm haben . Ich wünschte, ich müsste nicht die vollständigen Pfade angeben, je tiefer ich in die verschachtelten Routen gehe. Zum Beispiel ist der Admin-Pfad forms/named-form/admin
, aber ich möchte es bereits wissen, es ist ein Kind von named-form
. Das ist einer der Gründe, warum ich denke, dass ich etwas falsch mache.
Ich muss auch in der Lage sein, die Dinge in meiner named-form.component
Datei zu tun, dass die admin.component
bewirken wird, aber die named-form.component
derzeit nicht berührt, wenn ich zu forms/named-form/admin
navigieren. Es endet mit der primären Router-Steckdose anstelle der named-form.component
Router-Steckdose. Ich kann einen Pfad für admin
innerhalb der named-form.routes
Datei enthalten, aber dann weiß ich nicht, wie die Admin-Child-Routen eingerichtet werden, ohne auch alle Haupt-Admin-Kind-Komponenten zu importieren, was es weniger modular macht.
Ich bin meine Module, wenn zu sehen ist notwendig, nicht sicher, aber wenn ja, werde ich sie in hinzufügen.
Wie kann ich das besser? Danke fürs schauen.
Bis eins für ausgezeichnete Qualitätscode !! : D :) = D – Ant