你如何在Angular2(RC5)中延迟加载单个组件

前端之家收集整理的这篇文章主要介绍了你如何在Angular2(RC5)中延迟加载单个组件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经能够使用Route的指定loadChildren属性进行延迟加载以使用NgModules.

import {RouterModule} from ‘@angular/router’
import {NgModule} from ‘@angular/core’
@NgModule({
  declarations: [ MyComponent,MyHomeRoute ],bootstrap: [ MyComponent ],imports: [
     RouterModule.forRoot([
     { path: ‘home’,component: MyHomeRoute },{ path: ‘lazy’,loadChildren: ‘./my-lazy-module’ }
  ])
})
class MyAppModule {}

但有没有办法配置一个路由延迟加载单个组件(而不是NgModule)使用字符串作为“组件”属性

我总是最终会出现以下错误
“无法使用’lazyComponent’解析组件”

解决方法

@NgModule({
  imports:      [ BrowserModule,routing ],declarations: [ AppComponent ],bootstrap:    [ AppComponent ]
})
export class AppModule { }

然后按需加载:

import { Routes,RouterModule } from '@angular/router'; 
 const routes: Routes= [{path: 'welcome',loadChildren: 'app/screens/welcome.module'}];
export const routing = RouterModule.forRoot(routes);

这里:loadChildren:’app / screens / welcome.module’是ts文件app / screens / welcome.module.ts

有关更多详细示例,请选中:http://plnkr.co/edit/18CZVF?p=preview

猜你在找的Angularjs相关文章