[更新以重点提问]. 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] 举报,一经查实,本站将立刻删除。