Ste*_*rov 9 angular-ngmodel angular angular-router
我很惊讶没有确切的答案:
Root/forChild的方法是什么?
例如在RouterModule中:
Router.forRoot(routes)
Run Code Online (Sandbox Code Playgroud)
用所有路由器提供程序和指令创建一个模块。它还可以选择设置应用程序侦听器以执行初始导航。
创建具有所有路由器指令和提供者注册路由的模块。
第一个通常用于为Angular应用创建初始配置并注册“基本”路由,而第二个通常用于配置“相对”路由。
假设我们有一个包含以下路线的应用程序:
您可以使用上述提到的方法:
app-routing.module.ts (这是一个“真实”的应用程序,路由不同)
基本路线user/
和通过company/
以下方式注册的地方RouterModule#forRoot
//...
const routes: Routes = [
{
path: 'user', loadChildren: './user/user.module#userModule'
// this lazy loading is deprecated in favor of
// loadChildren: () => import('./user/user.module').then(m => m.UserModule) }
},
// same deprecation applies here
{ path: 'company', loadChildren: './company/company.module#CompanyModule'},
// same deprecation applies here
{ path: '**', loadChildren: './page-not-found/page-not-found.module#PageNotFoundModule'}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
//...
Run Code Online (Sandbox Code Playgroud)
user-routing.module.ts (这是一个“真实的”应用,路由有所不同)
和相对航线user/
和company/
注册使用RouterModule#forChild
//...
const routes: Routes = [
{ path: 'list', component: UserComponent},
{ path: 'delete/:id', component: UserDeleteComponent},
{ path: 'register/:id', component: UserRegisterComponent},
];
@NgModule({
imports: [ RouterModule.forChild(routes) ],
exports: [ RouterModule ]
})
//...
Run Code Online (Sandbox Code Playgroud)
对于公司的子公司路线也是如此。
创建一个包含所有路由器提供程序和指令的模块。它还可以选择设置应用程序侦听器来执行初始导航。
创建一个包含所有路由器指令的模块和一个注册路由的提供程序。
仅将 forRoot/forChild 约定用于具有要导入到 eager 模块和惰性模块中的提供者的共享模块
这是一个很好的答案在 NgModule 中使用 forRoot 的目的是什么?可以提供有关该主题的额外信息
归档时间: |
|
查看次数: |
3536 次 |
最近记录: |