Angular2 惰性加载的特性模块

创建一个带路由的特性模块

摘自angular中文官方教程    附angular 中文官网 https://www.angular.cn/

接下来,你需要一个要路由到的特性模块。要生成一个,请输入下列命令,其中的 customers 是该模块的名字:

ng generate module customers --routing

这会创建一个 customers 目录,其中有两个文件:CustomersModule 和 CustomersRoutingModule。 CustomersModule 扮演的是与客户紧密相关的所有事物的管理员。CustomersRoutingModule则会处理任何与客户有关的路由。 这样就可以在应用不断成长时保持应用的良好结构,并且当复用本模块时,你可以轻松的让其路由保持完好。

CLI 会把 CustomersRoutingModule 自动导入到 CustomersModule。它会在文件的顶部添加一条 JavaScript 的 import 语句,并把 CustomersRoutingModule 添加到 @NgModule 的 imports 数组中。

向特性模块中添加组件

要想在浏览器中看出该模块惰性加载成功了,就创建一个组件用来在应用加载 CustomersModule 之后渲染出一些 HTML。在命令行中输入如下命令:

ng generate component customers/customer-list

这会在 customers 目录中创建一个名叫 customer-list 的文件夹,其中包含该组件的四个文件。

就像路由模块一样,CLI 也自动把 CustomerListComponent 导入了 CustomersModule

再添加一个特性模块

为了提供另一个可路由到的地点,再创建第二个带路由的特性模块:

ng generate module orders --routing

这会创建一个名叫 orders 的新文件夹,其中包含 OrdersModule 和 OrdersRoutingModule

现在,像 CustomersModule 一样,给它添加一些内容:

ng generate component orders/order-list
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果要在 Angular 中调用懒加载模块里的路由,你需要在根路由模块中使用 `loadChildren` 属性来配置懒加载。这个属性可以接受一个模块的路径字符串,并返回一个懒加载函数。 下面是一个示例: ``` const routes: Routes = [ { path: 'lazy', loadChildren: () => import('./lazy/lazy.module').then(m => m.LazyModule) } ]; ``` 然后,你可以在懒加载模块里的路由模块中配置你的路由。 ``` const routes: Routes = [ { path: '', component: LazyComponent } ]; @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule] }) export class LazyRoutingModule { } ``` 现在,你就可以通过访问 `/lazy` 来访问这个懒加载模块里的路由了。 ### 回答2: 在Angular中,使用懒加载模块可以提高应用的性能和加载速度。当需要使用到某个模块时,可以通过懒加载来按需加载模块,而不是在应用启动时一次性加载全部模块。 要调用懒加载模块里的路由,首先需要在主模块的路由配置中定义懒加载路由。在定义路由时,路径中需要指定懒加载模块的路径,并通过loadChildren属性来加载模块。例如: ```typescript const routes: Routes = [ { path: 'lazy', loadChildren: 'app/lazy/lazy.module#LazyModule' } ]; ``` 这样在访问路径为"/lazy"时,会触发懒加载加载LazyModule模块。接下来,我们可以在懒加载模块中定义自己的子路由。例如: ```typescript const routes: Routes = [ { path: '', component: LazyComponent }, { path: 'details', component: DetailsComponent } ]; ``` 这样就可以通过"/lazy/details"访问到懒加载模块中的DetailsComponent组件了。 在应用中调用懒加载模块里的路由时,可以使用routerLink指令或者调用Router服务的navigate方法。例如: ```html <a [routerLink]="['/lazy']">Lazy Module</a> <a [routerLink]="['/lazy/details']">Details</a> ``` 或者在组件中通过Router服务的navigate方法来实现路由跳转: ```typescript import { Router } from '@angular/router'; @Component({...}) export class MyComponent { constructor(private router: Router) {} goToLazyModule() { this.router.navigate(['/lazy']); } goToDetails() { this.router.navigate(['/lazy/details']); } } ``` 以上就是如何在Angular中调用懒加载模块里的路由的方法。通过懒加载可以按需加载模块和路由,从而提高应用的性能和加载速度。 ### 回答3: Angular中的懒加载是一种优化技术,它允许将模块按需加载,而不是在应用启动时一次性加载所有模块。 调用懒加载模块里的路由是通过在应用中定义路由并配置懒加载模块的路径来实现的。当用户访问到该路由时,Angular会根据配置的懒加载路径动态加载模块,并且渲染出对应的组件。 要实现这个功能,我们需要在应用的路由配置文件中指定需要懒加载模块的路径。例如,假设我们有一个名为`LazyModule`的模块,我们可以在路由配置文件中如下定义该模块的路由: ```typescript const routes: Routes = [ { path: 'lazy', loadChildren: () => import('./lazy.module').then(m => m.LazyModule) } ]; ``` 上述代码中,`loadChildren`属性指定了懒加载模块的路径,使用`import().then()`的语法来动态加载模块,并返回一个`Promise`对象。 当用户访问到路径`/lazy`时,Angular会自动加载`LazyModule`模块,并根据该模块的路由配置渲染对应的组件。 总结起来,要调用懒加载模块里的路由,我们需要在应用的路由配置文件中定义懒加载模块的路径,并在访问对应的路由时,Angular会自动加载模块并渲染组件。这样可以提高应用的初始加载速度和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值