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,给出的印象可以定义多个.) >这也是路线设计的情况吗?即, 编辑:实际上最后一个问题在分层路由的上下文中有其自身的优点,所以我把它考虑在这里: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: ...); 这样你的学生就可以独立工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |