在播放并使用Angular Dart进行大量实验之后,我现在正在写第一个真实的(如“真实用户将在我的公司中使用”)应用程序。我偶然发现了一个问题,我无法在网上找到答案:如何正确嵌套组件?
我有一些简单的小部件,实现为组件,我有一些更复杂的复合小部件,包括简单的小部件。
现在,我必须在主dart文件中使用module..type()
声明所有组件(简单和复合)。但在组件范例中,内部简单组件应封装在复合组件内部,即不从外部声明。
有一种方法可以在组件中进行封装,允许Component声明和使用内部组件,而不必在主应用程序中声明每个内部组件。
有办法吗?我的google-fu通常不是很糟糕,但我在这个主题上一无所获......
提前致谢!
答案 0 :(得分:3)
创建更多模块,并使用MyAppModule
install
见例如
- https://github.com/akserg/angular.dart.ui/blob/master/lib/accordion/accordion.dart
- https://github.com/akserg/angular.dart.ui/blob/master/lib/angular_ui.dart
<强> accordion.dart 强>
class AccordionModule extends Module {
AccordionModule() {
// old syntax
type(AccordionComponent);
type(AccordionHeadingComponent);
type(AccordionGroupComponent);
value(AccordionConfig, new AccordionConfig());
// you could also use install() here not only in the main module
// new Syntax
bind(AccordionComponent);
bind(AccordionHeadingComponent);
bind(AccordionGroupComponent);
bind(AccordionConfig, toValue: new AccordionConfig());
}
}
<强> angular_ui.dart 强>
class AngularUIModule extends Module {
AngularUIModule() {
install(new AlertModule());
install(new AccordionModule()); // the above module
install(new ButtonModule());
install(new CarouselModule());
install(new CollapseModule());
install(new DropdownToggleModule());
install(new ProgressbarModule());
install(new RatingModule());
install(new TabsModule());
install(new TimeoutModule());
install(new TransitionModule());
install(new ModalModule());
}
}