在angular 2中,默认情况下如何使用惰性加载加载子路由?
我知道这个问题被问了很多次,我已经搜索了很多问题,但找不到答案,所以只需发布我的问题,我的结构如下在angular 2中,默认情况下如何使用惰性加载加载子路由?,angular,routing,angular2-routing,url-routing,Angular,Routing,Angular2 Routing,Url Routing,我知道这个问题被问了很多次,我已经搜索了很多问题,但找不到答案,所以只需发布我的问题,我的结构如下 const appRoutes: Routes = [ { path: '', redirectTo: 'A', pathMatch: 'full' }, { path: 'A', resolve: { DATA: ADataResolver, },
const appRoutes: Routes = [
{
path: '',
redirectTo: 'A',
pathMatch: 'full'
},
{
path: 'A',
resolve: {
DATA: ADataResolver,
},
children: [
{
path: '',
redirectTo: 'B',
pathMatch: 'full'
},
{
path: 'B',
loadChildren: './b/b.module#BModule'
}]
}
]
现在在应用加载时,我想加载路径A/B
我该怎么做?我做了以上的事情,但它不起作用。非常感谢您的帮助。如果您希望延迟加载一个或多个模块,直到用户请求这些模块时,才使用延迟加载。 看起来您的场景默认需要B模块。 您可以直接调用组件:
const appRoutes: Routes = [
{
path: '',
redirectTo: 'A',
pathMatch: 'full'
},
{
path: 'A',
resolve: {
DATA: ADataResolver,
},
children: [
{
path: '',
redirectTo: 'B',
pathMatch: 'full'
},
{
path: 'B',
component: 'BComponent'
}]
}
]
如果它仍然必须是一个惰性模块,您是否尝试启用跟踪?路由是否已被识别?当您想延迟加载一个或多个模块,直到用户请求这些模块时,应使用延迟加载。 看起来您的场景默认需要B模块。 您可以直接调用组件:
const appRoutes: Routes = [
{
path: '',
redirectTo: 'A',
pathMatch: 'full'
},
{
path: 'A',
resolve: {
DATA: ADataResolver,
},
children: [
{
path: '',
redirectTo: 'B',
pathMatch: 'full'
},
{
path: 'B',
component: 'BComponent'
}]
}
]
如果它仍然必须是一个惰性模块,您是否尝试启用跟踪?路线是否被识别?请检查B模块,它也是必需的组件和路线概念
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { AdminComponent } from "../components/admin/admin.component";
export const routes: Routes = [
{
path: '', component: AdminComponent
}
];
@NgModule({
declarations: [
AdminComponent
],
imports: [
CommonModule,
RouterModule.forChild(routes)
],
bootstrap: [AdminComponent]
})
export class BModule { }
请检查B模块,它也是必需的组件和布线概念
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { AdminComponent } from "../components/admin/admin.component";
export const routes: Routes = [
{
path: '', component: AdminComponent
}
];
@NgModule({
declarations: [
AdminComponent
],
imports: [
CommonModule,
RouterModule.forChild(routes)
],
bootstrap: [AdminComponent]
})
export class BModule { }
我想知道其他地方是否出了问题。我刚刚修改了我的代码,使之基本上与您的代码相匹配,它工作得很好,请参见下文。我有电影,所以那是你的B
const appRoutes: Routes = [
{
path: '',
redirectTo: 'A',
pathMatch: 'full'
},
{
path: 'A',
children: [
{ path: 'welcome', component: WelcomeComponent },
{
path: 'movies',
loadChildren: './movies/movie.module#MovieModule'
},
{ path: '', redirectTo: 'movies', pathMatch: 'full' }
]
},
{ path: '**', component: PageNotFoundComponent }
];
导航到http://localhost:4200 导致URL为:http://localhost:4200/A/movies
您可以在此处找到我的代码:
我刚刚修改了我的app-routing.module.ts,如上图所示并运行了它。我想知道其他地方是否出了问题。我刚刚修改了我的代码,使之基本上与您的代码相匹配,它工作得很好,请参见下文。我有电影,所以那是你的B
const appRoutes: Routes = [
{
path: '',
redirectTo: 'A',
pathMatch: 'full'
},
{
path: 'A',
children: [
{ path: 'welcome', component: WelcomeComponent },
{
path: 'movies',
loadChildren: './movies/movie.module#MovieModule'
},
{ path: '', redirectTo: 'movies', pathMatch: 'full' }
]
},
{ path: '**', component: PageNotFoundComponent }
];
导航到http://localhost:4200 导致URL为:http://localhost:4200/A/movies
您可以在此处找到我的代码:
我刚刚修改了app-routing.module.ts,如上图所示并运行了它。有错误吗?您是否添加了路由器出口?“A”是模块,“B”是模块A的一个组件?@SurenSrapyan是的,我是在直接放置url时添加的works@AkashTantri不,它们都是模块式的,有错误吗?您是否添加了路由器出口?“A”是模块,“B”是模块A的一个组件?@SurenSrapyan是的,我是在直接放置url时添加的works@AkashTantri不,它们都是模块,但当我输入A时,它将重定向到A/B,但我希望在默认情况下,它将转到A/B CONST appRoutes:Routes=[{path:,redirectTo:'A',pathMatch:'full'},{path:'A/B',resolve:{DATA:ADataResolver,},component:'BComponent'}],但当我输入A时,它将重定向到A/B,但我希望默认情况下它将转到A/Bconst批准:Routes=[{path:,redirectTo:'A',pathMatch:'full'},{path:'A/B',resolve:{DATA:ADataResolver,},component:'BComponent'}]已经完成了,但当我输入A时,它将重定向到A/B,但默认情况下,它将转到A/B@Riturajratanplz try:const-appRoutes:Routes=[{path:,redirectTo:'A/B',pathMatch:'full'},它已经完成了,但当我输入A时,它将重定向到A/B,但我希望默认情况下它将转到A/B@Riturajratanplz try:const appRoutes:Routes=[{path:,重定向到:'A/B',pathMatch:'full'},你试过运行此代码吗?bse我已经设置了相同的东西,但它不起作用:你试过从我的github运行代码吗?一切正常。我在上周的一次会议上的一次演讲中使用了它,它没有问题。@DeborahK你能看看我的问题吗:。我对多个延迟加载模块也有同样的问题。你呢尝试运行此代码bse我设置了相同的东西,但它不起作用:您是否尝试从我的github运行此代码?一切正常。我在上周的一次会议上的一次演讲中使用了它,它工作正常。@DeborahK能否请您看看我的问题:。我对多个延迟加载模块也有相同的问题。