2014-03-14 258 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

很高興我能幫到你。尋找合適的地方對於尋找是至關重要的;-) –