2014-03-14 389 views
3

在玩并试用了Angular Dart之后,现在我正在写第一个真实的(如“将在我的公司中由真实用户使用”)应用程序。而我偶然发现了一个问题,我无法在网络中找到答案:如何正确地嵌套组件?在Angular Dart中声明嵌套组件

我有一些简单的小部件,实现为组件,我有一些更复杂的复合小部件,包括简单的小部件。

现在,我必须在主dart文件中声明module..type()的所有组件(简单和复合)。但是在组件范例中,内部简单组件应该封装在复合组件内部,即不从外部声明。

有一种方法可以在组件中获得封装,这是非常好的,允许组件声明和使用内部组件,而无需在主应用程序中声明这些内部组件中的每一个。

有没有办法做到这一点?我的google-fu通常不是很糟糕,但我在这个主题上没有发现任何东西...

在此先感谢!

+0

也看到http://stackoverflow.com/questions/22373729 –

+0

Thnaks了很多!这只是我需要的信息。 – LostInBrittany

回答

3

创建更多的模块,并将其与install

见例如在
添加到MyAppModule - 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()); 
    } 
} 
+0

非常感谢!我太肯定了,Component中的答案是我没有想过将这些组合元素声明为Module,这在Angular的角度上是合理的。 – LostInBrittany

+0

很高兴我能帮到你。寻找合适的地方对于寻找是至关重要的;-) –