Angular 2中懒惰的引用路线在哪里?

时间:2016-06-08 12:48:12

标签: angular lazy-loading quotes angular2-routing

我看过this clarifying keynote Papa Misko 介绍了RC版本中引入的新路由系统。

它包含在演示文稿“Last Lazy Loading Puzzle Piece”的解决方案中,并且依赖于引用路径组件名称,如他自己的示例所示:

from sqlalchemy.ext.compiler import compiles
from sqlalchemy.sql.functions import FunctionElement


class CustomNow(FunctionElement):
    name = "custom_now"


@compiles(CustomNow)
def visit_custom_now(element, compiler, **kwargs):
    return "(NOW())"


@compiles(CustomNow, "sqlite")
def visit_custom_now_for_sqlite(element, compiler, **kwargs):
    return "(DATETIME('now', 'localtime'))"

但它不适合我!打字稿编译器虽然抱怨。 这是错误:

{path: 'simple', component: SimpleCmp}   // Non-lazy route
{path: 'simple', component: 'SimpleCmp'} // Lazy route

似乎尚未实施。 有人知道发生了什么,是否真的没有实现?

1 个答案:

答案 0 :(得分:4)

此时(06/08/16)尚未完成,但如果您使用的是 webpack ,则可以使用es6-promise与webpack的require()组合使用1}}创建自己的“延迟加载”。

  

当官方延迟加载出来时,您可以轻松删除它并使用即将推出的标准Angular lazy-loader。

请查看angular2 webpack starter中的示例。

@RouteConfig([
  // Async load a component using Webpack's require 
  // with es6-promise-loader and webpack `require`

  { 
    path: '/about', name: 'About', 
    loader: () => require('es6-promise!./about')('About') 
  }

])

确保在package.json中安装了es6-promise

npm i es6-promise --save