[更新为重点问题]。 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
,因此给人的印象是可以定义的。)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/