[更新为重点问题]。 AngularDart在许多方面都很好地支持模块化应用程序设计路线设计也是这种情况吗? IE。,

问题:一个应用程序可以包含多个RouteInitializer吗? 例如:

class MyAppModule extends Module {
  MyAppModule() { ...
    type(RouteInitializer,
       // Currently implementedBy takes only one RouteInitializer?
       // Here we propose, e.g., to allow a list.
       implementedBy:
         [MyAppRouteInitializerForFeatureSetA,
         MyAppRouteInitializerForFeatureSetB,
         MyAppRouteInitializerForFeatureSetC,
         ]);
    ...
  }
}

用例:我正在考虑让我的一些学生从事同一个AngularDart项目,但是(主要是)互斥的功能集。理想情况下,我希望他们能够独立工作(一旦商定了“顶级”路由URL前缀)。在这种情况下,他们最终将拥有自己的RouteInitializer。能够仅“放入”其项目子文件夹,节省集成时间,而不是将复制路由初始化插入到单个类文件中,将是一个很好的选择。

[问题的原始版本](鉴于接口(interface)名称是RouteInitializer,而不是RouterInitializer,因此给人的印象是可以定义的。)
  • 路线设计也是这种情况吗?即
  • Angular Dart应用程序可以关联多少个Router实例? (我想只有一个。)
  • 一个应用程序可以有多个RouteInitializer吗? (鉴于接口(interface)名称是RouteInitializer,而不是RouterInitializer,它给人的印象是可以定义的。
  • 如果允许多个RouteInitializer,那么addRoute name参数的范围是什么?

  • 编辑:实际上,最后一个问题在分层路由的上下文中具有其自身的优点,因此我将其分解为:angulardart-namespace-of-route-names-hierarchical-too

    最佳答案

    如您所指出的,具有多个RouteInitializer是很复杂的。

    从技术上讲,您不需要角形的帮助就可以做到这一点。

    my_routes.dart

    import 'foo.dart' as foo;
    import 'bar.dart' as bar;
    
    myRouteInitializer(router, views) {
      views.configure({
        'foo': foo.configureFooRoutes(),
        'bar': bar.configureBarRoutes()
      });
    }
    

    foo.dart

    library foo;
    
    import '';
    
    configureFooRoutes(views) => ngRoute(
        path: '/foo',
        mount: ...);
    

    bar.dart

    library bar;
    
    import '';
    
    configureBarRoutes(views) => ngRoute(
        path: '/bar',
        mount: ...);
    

    这样,您的学生可以独立工作。

    关于dart - Angular Dart中的模块化路线设计可支持独立开发的功能集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21461932/

    10-12 06:54