微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Angular Dart中的模块化路线设计支持独立开发的功能集?

[更新以重点提问]. AngularDart在很多方面都很好地支持模块化应用程序设计.路线设计也是如此吗?即,

问题:应用程序可以有多个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前缀).在这种情况下,他们最终会拥有自己的RouteInitializers.能够在项目子文件夹中“删除”,集成时间,而不是将路由初始化复制粘贴到单个类文件中,这将是一件好事.

[问题的原始版本](鉴于接口名称是RouteInitializer,而不是RouterInitializer,给出的印象可以定义多个.)

>这也是路线设计的情况吗?即,
> Angular Dart应用程序可以关联多少个Router实例? (我想只有一个.)
>一个应用程序可以有多个RouteInitializer吗? (假设接口名称是RouteInitializer,则给出的印象可以定义多个.
>如果允许多个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: ...);

这样你的学生就可以独立工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐