Angular 4 子路由不工作
Angular 4 Child Routing is not working
大家。
我正在使用 angular,但我在路由方面遇到了一些问题。
我遵循了一些教程,但路由不起作用。
有人可以检查我的代码并告诉我哪里做得更糟吗?
这是我的主要路由器模块:
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './login/login.component';
import { ListadoSolicitudComponent } from './solicitudes/listado_solicitud.component';
const routes: Routes = [
{ path: 'solicitud', loadChildren: './solicitudes/solicitudes.module#SolicitudesModule' },
{ path: 'admin', loadChildren: './administracion/administracion.module#AdministracionModule' },
{ path: 'login', component: LoginComponent },
{ path: 'solicitudes', component: ListadoSolicitudComponent },
{ path: '', redirectTo: '/solicitudes', pathMatch: 'full' }
];
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
export class AppRoutingModule{ }
我的主要模块
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouterModule, Routes} from '@angular/router';
import { Contenedor } from './contenedor.component';
import { SolicitudesModule } from './solicitudes/solicitudes.module';
import { AdministracionModule } from './administracion/administracion.module';
import { AppRoutingModule } from './app-routing.module';
import { LoginComponent } from './login/login.component';
import { ListadoSolicitudComponent } from './solicitudes/listado_solicitud.component';
@NgModule({
declarations: [Contenedor, LoginComponent, ListadoSolicitudComponent],
imports: [BrowserModule, AppRoutingModule/*, SolicitudesModule, AdministracionModule*/],
providers: [],
bootstrap: [Contenedor]
})
export class ContenedorModule { }
并且,这是两个路由器子模块 (SolicitudesRutaModule) 之一:
import { NgModule } from '@angular/core';
import { RouterModule, Routes} from '@angular/router';
//Importo los componentes
import { ListadoSolicitudComponent } from './listado_solicitud.component';
import { registrosolicitud } from './registro_solicitud.component';
import { RegistroParticipantes } from './registro_participantes.component';
import { Proyeccion } from './proyeccion_gastos.component';
import { DatoSolicitud } from './datos_solicitud.component';
import { ordencompra } from './orden_compra_solicitud.component';
import { Bitacora } from './bitacora.component';
import { AprobarSolicitud } from './aprobar.component';
import { editarsolicitud } from './editar_solicitud.component';
const Route: Routes = [
{ path: '', component: ListadoSolicitudComponent,
children: [
{ path: 'registro', component: registrosolicitud },
{ path: 'gasto', component: Proyeccion },
{ path: 'participantes', component: RegistroParticipantes },
{ path: 'compra', component: ordencompra },
{ path: 'bitacora', component: Bitacora },
{ path: 'aprobar', component: AprobarSolicitud },
{ path: 'edit', component: editarsolicitud }
]}
];
// Metadatos del módulo
@NgModule({
imports: [ RouterModule.forChild(Route) ],
exports: [ RouterModule ]
})
export class SolicitudesRutaModule { }
您没有导入 SolicitudesRutaModule。
在你的 AppRoutingModule
中,你应该这样做:
{ path: 'solicitudes', loadChildren: 'path/to/module#SolicitudesRutaModule' },
请注意,如果 registro
是您 SolicitudesRutaModule
中默认路由 ''
的子路由,则 ListadoSolicitudComponent
的模板中应该有一个 <router-outlet></router-outlet>
.
如果不是这种情况,请将 registro
等其他路由与默认路由 ''
.
放在同一数组中
大家。 我正在使用 angular,但我在路由方面遇到了一些问题。 我遵循了一些教程,但路由不起作用。 有人可以检查我的代码并告诉我哪里做得更糟吗?
这是我的主要路由器模块:
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './login/login.component';
import { ListadoSolicitudComponent } from './solicitudes/listado_solicitud.component';
const routes: Routes = [
{ path: 'solicitud', loadChildren: './solicitudes/solicitudes.module#SolicitudesModule' },
{ path: 'admin', loadChildren: './administracion/administracion.module#AdministracionModule' },
{ path: 'login', component: LoginComponent },
{ path: 'solicitudes', component: ListadoSolicitudComponent },
{ path: '', redirectTo: '/solicitudes', pathMatch: 'full' }
];
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
export class AppRoutingModule{ }
我的主要模块
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouterModule, Routes} from '@angular/router';
import { Contenedor } from './contenedor.component';
import { SolicitudesModule } from './solicitudes/solicitudes.module';
import { AdministracionModule } from './administracion/administracion.module';
import { AppRoutingModule } from './app-routing.module';
import { LoginComponent } from './login/login.component';
import { ListadoSolicitudComponent } from './solicitudes/listado_solicitud.component';
@NgModule({
declarations: [Contenedor, LoginComponent, ListadoSolicitudComponent],
imports: [BrowserModule, AppRoutingModule/*, SolicitudesModule, AdministracionModule*/],
providers: [],
bootstrap: [Contenedor]
})
export class ContenedorModule { }
并且,这是两个路由器子模块 (SolicitudesRutaModule) 之一:
import { NgModule } from '@angular/core';
import { RouterModule, Routes} from '@angular/router';
//Importo los componentes
import { ListadoSolicitudComponent } from './listado_solicitud.component';
import { registrosolicitud } from './registro_solicitud.component';
import { RegistroParticipantes } from './registro_participantes.component';
import { Proyeccion } from './proyeccion_gastos.component';
import { DatoSolicitud } from './datos_solicitud.component';
import { ordencompra } from './orden_compra_solicitud.component';
import { Bitacora } from './bitacora.component';
import { AprobarSolicitud } from './aprobar.component';
import { editarsolicitud } from './editar_solicitud.component';
const Route: Routes = [
{ path: '', component: ListadoSolicitudComponent,
children: [
{ path: 'registro', component: registrosolicitud },
{ path: 'gasto', component: Proyeccion },
{ path: 'participantes', component: RegistroParticipantes },
{ path: 'compra', component: ordencompra },
{ path: 'bitacora', component: Bitacora },
{ path: 'aprobar', component: AprobarSolicitud },
{ path: 'edit', component: editarsolicitud }
]}
];
// Metadatos del módulo
@NgModule({
imports: [ RouterModule.forChild(Route) ],
exports: [ RouterModule ]
})
export class SolicitudesRutaModule { }
您没有导入 SolicitudesRutaModule。
在你的 AppRoutingModule
中,你应该这样做:
{ path: 'solicitudes', loadChildren: 'path/to/module#SolicitudesRutaModule' },
请注意,如果 registro
是您 SolicitudesRutaModule
中默认路由 ''
的子路由,则 ListadoSolicitudComponent
的模板中应该有一个 <router-outlet></router-outlet>
.
如果不是这种情况,请将 registro
等其他路由与默认路由 ''
.