加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 在模块中使用另一个模块:在路由中导入vs使用loadChi

发布时间:2020-12-17 17:10:37 所属栏目:安全 来源:网络整理
导读:在我对Angular的探索中,我发现了两种可能的方法来在另一个模块中使用一个模块. (使用angular-express-starter project作为参考) 方法1: 在进口数组中声明它. For example @NgModule({ declarations: [ AppComponent ],imports: [ BrowserModule,SharedModul
在我对Angular的探索中,我发现了两种可能的方法来在另一个模块中使用一个模块.

(使用angular-express-starter project作为参考)

>方法1:
在进口数组中声明它. For example

@NgModule({
  declarations: [
    AppComponent
  ],imports: [
    BrowserModule,SharedModule,FormsModule
  ]
})

>方法2:
使用loadChildrenin路由. For example:

export const routes: Route[] = [
  { path: '',pathMatch: 'full',redirectTo: 'weather'},{ loadChildren: 'app/dashboard/dashboard.module#DashboardModule',path: 'dashboard' },{ loadChildren: 'app/profile/profile.module#ProfileModule',path: 'profile' },{ loadChildren: 'app/weather/weather.module#WeatherModule',path: 'weather' }
];

这两种方法有什么实际差异?

解决方法

What are the practical differences between these two methods?

最大的区别是通过loadChildren加载的模块将拥有自己的注入器,而来自导入模块的提供程序将合并到一个根注入器中.这意味着您无法将延迟加载模块中的提供程序注入其他延迟加载的模块中.

其他差异:

>如果不使用路由,则无法使用loadChildren
>只有在导航到相应路径时才会加载通过loadChildren加载的模块

有关更多信息,请阅读

> Avoiding common confusions with modules in Angular

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读