
Angular 6ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã«ãµãŒãã¹ã®äŸåé¢ä¿ãåã蟌ãããã®æ°ããæ¹è¯ãããæ§æãå°å ¥ãããŸããïŒ provideIn ïŒã Angular 7ããã§ã«ãªãªãŒã¹ãããŠãããšããäºå®ã«ããããããããã®ãããã¯ã¯äŸç¶ãšããŠé¢é£ããŠããŸãã GitHubãSlackãããã³Stack Overflowã®ã³ã¡ã³ãã«ã¯å€ãã®æ··ä¹±ãããããããã®ãããã¯ã詳ããèŠãŠã¿ãŸãããã
ãã®èšäºã§ã¯ã次ã®ããšãæ€èšããŸãã
- äŸåæ§æ³šå ¥
- Angularã«äŸåé¢ä¿ãæ³šå ¥ããå€ãæ¹æ³ïŒ ãããã€ããŒïŒ[] ïŒ;
- äŸåé¢ä¿ãAngularã«æäŸããæ°ããæ¹æ³ïŒ providedInïŒ 'root' | SomeModule ïŒ;
- UseInã·ããªãªprovideIn ;
- ã¢ããªã±ãŒã·ã§ã³ã§æ°ããæ§æã䜿çšããããã®æšå¥šäºé ã
- ãŸãšãããšã
äŸåæ§æ³šå ¥
DIã«ã€ããŠæ¢ã«èããŠããå Žåã¯ããã®ã»ã¯ã·ã§ã³ãã¹ãããã§ããŸãã
äŸåæ§æ³šå ¥ ïŒ DI ïŒã¯ãä»ã®ãªããžã§ã¯ãã«äŸåãããªããžã§ã¯ããäœæããæ¹æ³ã§ãã äŸåæ§æ³šå ¥ã·ã¹ãã ã¯ãã¯ã©ã¹ãã€ã³ã¹ã¿ã³ã¹åãããšãã«äŸåãªããžã§ã¯ããæäŸããŸãã
- è§åºŠä»ãããã¥ã¡ã³ã
æ£åŒãªèª¬æã¯é©åã§ãããäŸåæ§æ³šå ¥ãšã¯äœãã詳ããèŠãŠã¿ãŸãããã
ãã¹ãŠã®ã³ã³ããŒãã³ããšãµãŒãã¹ã¯ã¯ã©ã¹ã§ãã åã¯ã©ã¹ã«ã¯ç¹å¥ãªã³ã³ã¹ãã©ã¯ã¿ãŒã¡ãœãããããããã®ã¡ãœãããåŒã³åºããšããã®ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãªããžã§ã¯ããäœæãããã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããŸãã
ãµãŒãã¹ã®1ã€ã«æ¬¡ã®ã³ãŒãããããšããŸãããã
constructor(private http: HttpClient)
äŸåæ§æ³šå ¥ã¡ã«ããºã ã䜿çšããã«äœæããå Žåã HttpClientãæåã§è¿œå ããå¿ èŠããããŸã ã 次ã«ãã³ãŒãã¯æ¬¡ã®ããã«ãªããŸãã
const myService = new MyService(httpClient)
ãããããã®å ŽåhttpClientãååŸããå Žæã¯ã©ãã§ããïŒ ãŸããäœæããå¿ èŠããããŸãã
const httpClient = new HttpClient(httpHandler)
ããããä»ã§ã¯httpHandlerãã©ãã§å ¥æã§ããŸããïŒ ãªã©ãå¿ èŠãªã¯ã©ã¹ããã¹ãŠã€ã³ã¹ã¿ã³ã¹åããããŸã§ã ã芧ã®ãšãããæåã§ã®äœæã¯è€éã§ãããã»ã¹ã§ãšã©ãŒãçºçããå¯èœæ§ããããŸãã
è§åºŠäŸåæ§æ³šå ¥ã¡ã«ããºã ã«ãããããããã¹ãŠãèªåçã«è¡ãããŸãã è¡ãå¿ èŠãããã®ã¯ãã³ã³ããŒãã³ãã³ã³ã¹ãã©ã¯ã¿ãŒã§äŸåé¢ä¿ãæå®ããããšã ãã§ãããããã®äŸåé¢ä¿ã¯ãæéããããã«è¿œå ãããŸãã
Angularã«äŸåé¢ä¿ãæ³šå ¥ããå€ãæ¹æ³ïŒãããã€ããŒïŒ[]ïŒ
ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããã«ã¯ãAngularã¯ã³ã³ããŒãã³ããšãµãŒãã¹ã«å®è£ ããåã ã®ãªããžã§ã¯ãã«ã€ããŠç¥ãå¿ èŠããããŸãã Angular 6ããåã¯ããããè¡ãå¯äžã®æ¹æ³ã¯ã ãããã€ããŒããããã£ã§ãµãŒãã¹ãæå®ããããšã§ããïŒ[]ãã³ã¬ãŒã¿ãŒ@NgModule ã @Component ãããã³@Directive ã

ãããã€ããŒã®äž»ãªäœ¿çšæ³ã¯æ¬¡ã®3ã€ã§ãã[] ïŒ
- ããã«ããŒããããã¢ãžã¥ãŒã«ã®@NgModuleãã³ã¬ãŒã¿ãŒïŒ eager ïŒã
- é 延ããŒãã¢ãžã¥ãŒã«ã®@NgModuleãã³ã¬ãŒã¿ãŒïŒ lazy ïŒã
- ãã³ã¬ãŒã¿@Componentããã³@Directive㧠ã
ã¢ããªã±ãŒã·ã§ã³ãšãšãã«ããŠã³ããŒããããã¢ãžã¥ãŒã«ïŒEagerïŒ
ãã®å ŽåããµãŒãã¹ã¯ã·ã³ã°ã«ãã³ãšããŠã°ããŒãã«ã¹ã³ãŒãã«ç»é²ãããŸãã è€æ°ã®ã¢ãžã¥ãŒã«ã®ãããã€ããŒ[]ã«å«ãŸããŠããŠããã·ã³ã°ã«ãã³ã«ãªããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ã«ãŒãã¬ãã«ã§ç»é²ããããµãŒãã¹ã¯ã©ã¹ã®åäžã€ã³ã¹ã¿ã³ã¹ãäœæãããŸãã
é 延ããŒãã¢ãžã¥ãŒã«ïŒé 延ïŒ
é 延ã¢ãžã¥ãŒã«ã«æ¥ç¶ããããµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ã¯ãåæåäžã«äœæãããŸãã ãã®ãããªãµãŒãã¹ãã¢ãžã¥ãŒã«ã®ç±å¿ãªã³ã³ããŒãã³ãã«è¿œå ãããšããšã©ãŒãçºçããŸãïŒ MyServiceã®ãããã€ããŒããããŸããïŒ ãšã©ãŒ
@ã³ã³ããŒãã³ãããã³@ãã£ã¬ã¯ãã£ãã§ã®å®è£
ã³ã³ããŒãã³ããŸãã¯ãã£ã¬ã¯ãã£ãã«å®è£ ããããšããµãŒãã¹ã®åå¥ã®ã€ã³ã¹ã¿ã³ã¹ãäœæããããã®ã³ã³ããŒãã³ããšãã¹ãŠã®åã§äœ¿çšå¯èœã«ãªããŸãã ãã®ç¶æ³ã§ã¯ããµãŒãã¹ã¯ã·ã³ã°ã«ãã³ã§ã¯ãªããã³ã³ããŒãã³ãã䜿çšããããã³ã«ã€ã³ã¹ã¿ã³ã¹ãäœæãããDOMããã³ã³ããŒãã³ããåé€ããããšãšãã«åé€ãããŸãã

ãã®å Žåã RandomServiceã¯ã¢ãžã¥ãŒã«ã¬ãã«ã§å®è£ ãããŠããããã·ã³ã°ã«ãã³ã§ã¯ãããŸããã
ãã ãã ãããã€ããŒã«ç»é²ãããŠããïŒ RandomComponentã³ã³ããŒãã³ãã®[] ã ãã®çµæã <rand®m> </rand®m>ã䜿çšãããã³ã«æ°ããä¹±æ°ãååŸããŸãã
Angularã«äŸåé¢ä¿ãæ³šå ¥ããæ°ããæ¹æ³ïŒprovidedInïŒ 'root' | SomeModuleïŒ
Angular 6ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã«äŸåé¢ä¿ãæ³šå ¥ããããã®æ°ãããããªãŒã·ã§ãŒã«ãã«ãããã€ããŒãããŒã«ãååŸããŸãããããã¯@Injectableãã³ã¬ãŒã¿ãŒã®æäŸãããããããã£ã䜿çšããŠäœ¿çšã§ããŸãã
ProvideInã¯ãéæ¹åã®äŸåé¢ä¿ã®å®è£ ãšããŠæ³åã§ããŸããã¢ãžã¥ãŒã«ãæ¥ç¶å ã®ãµãŒãã¹ãèšè¿°ããåã«ããµãŒãã¹ã¯æ¥ç¶å ã®ã¢ãžã¥ãŒã«ãå®çŸ©ããããã«ãªããŸããã
ãµãŒãã¹ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã«ãŒã ïŒ æäŸãããïŒ 'root' ïŒãŸãã¯ä»»æã®ã¢ãžã¥ãŒã«ïŒ æäŸãããïŒSomeModule ïŒã«åã蟌ãããšãã§ããŸãã givenIn ïŒ 'root'ã¯AppModuleã§ã®å®è£ ã®ç¥èªã§ãã

æ°ããæ§æã䜿çšããäž»ãªã·ããªãªãåæããŸãããã
- ã¢ããªã±ãŒã·ã§ã³ã®ã«ãŒãã¢ãžã¥ãŒã«ã§ã®å®è£ ïŒ æäŸãããïŒ 'root' ïŒ;
- ããã«ããŒããããã¢ãžã¥ãŒã«ã§ã®å®è£ ïŒ eager ïŒ;
- é 延ããŒãïŒ lazy ïŒã䜿çšããã¢ãžã¥ãŒã«ã§ã®å®è£ ã
ã¢ããªã±ãŒã·ã§ã³ã®ã«ãŒãã¢ãžã¥ãŒã«ã§ã®å®è£ ïŒprovidedInïŒ 'root'ïŒ
ããã¯æãäžè¬çãªäŸåæ§æ³šå ¥ãªãã·ã§ã³ã§ãã ãã®å ŽåããµãŒãã¹ã¯å®éã«äœ¿çšãããŠããå Žåã«ã®ã¿ãã³ãã«ã¢ããªã±ãŒã·ã§ã³ã«è¿œå ãããŸãã ã³ã³ããŒãã³ããŸãã¯ä»ã®ãµãŒãã¹ã«çµã¿èŸŒãŸããŠããŸãã
æ°ããã¢ãããŒãã䜿çšãããšããã¹ãŠã®èšè¿°ããããµãŒãã¹ã䜿çšãããã¢ããªã·ãã¯SPAã¢ããªã±ãŒã·ã§ã³ã«å€§ããªéãã¯ãããŸããããprovinedIn ïŒ 'root'ã¯ã©ã€ãã©ãªãèšè¿°ãããšãã«åœ¹ç«ã¡ãŸãã
以åã¯ããã¹ãŠã®ã©ã€ãã©ãªãµãŒãã¹ããããã€ããŒã«è¿œå ããå¿ èŠããããŸããïŒãã®ã¢ãžã¥ãŒã«ã®[] ã ã©ã€ãã©ãªãã¢ããªã±ãŒã·ã§ã³ã«ã€ã³ããŒãããåŸã1ã€ãã䜿çšãããŠããªããŠãããã¹ãŠã®ãµãŒãã¹ããã³ãã«ã«è¿œå ãããŸããã givenInïŒ 'root'ã®å Žåãã©ã€ãã©ãªã¢ãžã¥ãŒã«ãæ¥ç¶ããå¿ èŠã¯ãããŸããã ç®çã®ã³ã³ããŒãã³ãã«ãµãŒãã¹ãçµã¿èŸŒãã ãã§ãã
é 延èªã¿èŸŒã¿ã¢ãžã¥ãŒã«ïŒé 延ïŒããã³æäŸå ïŒ 'root'
æ zyãªã¢ãžã¥ãŒã«ã§æäŸããããã«ãŒããã§ãµãŒãã¹ãå®è£ ãããšã©ããªããŸããïŒ
æè¡çã«ã¯ã ãã«ãŒããã¯AppModule ã®ç¥ã§ãããAngularã¯ãã³ã³ããŒãã³ããšãµãŒãã¹ã«ã®ã¿å®è£ ãããŠããå Žåãã¢ãžã¥ãŒã«ã®é 延ãã³ãã«ã«ãµãŒãã¹ãè¿œå ããã®ã«ååãªã»ã©ã¹ããŒãã§ãã ãã ãã1ã€ã®åé¡ããããŸãïŒããã¯æ©èœã§ãããšäž»åŒµãã人ãããŸãïŒã é 延ã¢ãžã¥ãŒã«ã§ã®ã¿äœ¿çšããããµãŒãã¹ãåŸã§ã¡ã€ã³ã¢ãžã¥ãŒã«ã«å®è£ ãããšããµãŒãã¹ã¯ã¡ã€ã³ãã³ãã«ã«è»¢éãããŸãã å€ãã®ã¢ãžã¥ãŒã«ãšãµãŒãã¹ãåãã倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããã«ããäŸåé¢ä¿ã®è¿œè·¡ã®åé¡ãäºæž¬ã§ããªãåäœãçºçããå¯èœæ§ããããŸãã
泚æããŠãã ããïŒ è€æ°ã®ã¢ãžã¥ãŒã«ã«åäžã®ãµãŒãã¹ãå®è£ ãããšãç解ããã®ãé£ããã解æããããšãã§ããªãé ããäŸåé¢ä¿ãçããå¯èœæ§ããããŸãã
幞ããªããšã«ããããé²ãæ¹æ³ããããŸãã以äžã§ããããæ€èšããŸãã
ããã«ããŒããããã¢ãžã¥ãŒã«ãžã®äŸåæ§æ³šå ¥ïŒç±å¿ãªïŒ
ååãšããŠããã®ã±ãŒã¹ã¯æå³ããªããªãããã代ããã«givenInïŒ 'root'ã䜿çšã§ããŸãã EagerModuleã§ãµãŒãã¹ãæ¥ç¶ãããšãã«ãã»ã«åã«äœ¿çšã§ããã¢ãžã¥ãŒã«ãæ¥ç¶ããã«å®è£ ãé²ãããšãã§ããŸãããã»ãšãã©ã®å Žåãããã¯å¿ èŠãããŸããã
æ¬åœã«ãµãŒãã¹ã®ç¯å²ãå¶éããå¿ èŠãããå Žåã¯ãå€ããããã€ããŒïŒ[]ã¡ãœããã䜿çšããæ¹ãç°¡åã§ããããã¯ã確ãã«åŸªç°äŸåé¢ä¿ã«ã€ãªãããªãããã§ãã
å¯èœãªéãããã¹ãŠã®ç±å¿ãªã¢ãžã¥ãŒã«ã§æäŸãããïŒ 'root'ã䜿çšããŠã¿ãŠãã ããã
ã泚æ é 延èªã¿èŸŒã¿ã¢ãžã¥ãŒã«ã®å©ç¹ïŒé 延ïŒ
Angularã®äž»ãªæ©èœã®1ã€ã¯ãã¢ããªã±ãŒã·ã§ã³ãç°¡åã«ãã©ã°ã¡ã³ãã«åå²ã§ããããšã§ããã次ã®å©ç¹ããããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ãã³ãã«ã®ãµã€ãºãå°ãããããã¢ããªã±ãŒã·ã§ã³ã®èªã¿èŸŒã¿ãšèµ·åãéããªããŸãã
- é 延èªã¿èŸŒã¿ã¢ãžã¥ãŒã«ã¯ååã«åé¢ãããŠããã察å¿ããã«ãŒãã®loadChildrenããããã£ã§äžåºŠã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ãããŸãã
é 延èªã¿èŸŒã¿ã®ãããã§ãäœçŸãã®ãµãŒãã¹ãšã³ã³ããŒãã³ããåããã¢ãžã¥ãŒã«å šäœãç°¡åã«åé€ããããå¥ã®ã¢ããªã±ãŒã·ã§ã³ãã©ã€ãã©ãªã«ç§»åãããã§ããŸãã
é 延ã¢ãžã¥ãŒã«ãåé¢ããããšã®ãã1ã€ã®å©ç¹ã¯ãã¢ãžã¥ãŒã«ã§ã®ãã¹ãã¢ããªã±ãŒã·ã§ã³ã®ä»ã®éšåã«åœ±é¿ãäžããªãããšã§ãã ããã§ããªãªãŒã¹æ¥ã§ãéãã«ç ãããšãã§ããŸãã
é 延ããŒãã䌎ãã¢ãžã¥ãŒã«ã§ã®å®è£ ïŒprovidedInïŒLazyModuleïŒ

ç¹å®ã®ã¢ãžã¥ãŒã«ãžã®äŸåæ§æ³šå ¥ã«ãããã¢ããªã±ãŒã·ã§ã³ã®ä»ã®éšåã§ãµãŒãã¹ã䜿çšã§ããªããªããŸãã ããã«ãããäŸåé¢ä¿æ§é ãç¶æã§ããŸããããã¯ãä¹±éãªäŸåé¢ä¿ã®æ³šå ¥ãæ··ä¹±ãæãå¯èœæ§ããã倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã«ç¹ã«åœ¹ç«ã¡ãŸãã
èå³æ·±ãäºå®ïŒã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³éšåã«é 延ãµãŒãã¹ãå®è£ ãããšãã¢ã»ã³ããªïŒAOTã§ãïŒã¯ãšã©ãŒãªãã§å€±æããŸãããã¢ããªã±ãŒã·ã§ã³ã¯ãLazyServiceã®ãããã€ããŒããããŸããããšãããšã©ãŒã§ã¯ã©ãã·ã¥ããŸãã
埪ç°äŸåé¢ä¿ã®åé¡

次ã®ããã«ãšã©ãŒãåçŸã§ããŸãã
- LazyModuleã¢ãžã¥ãŒã«ãäœæããŸãã
- LazyServiceãµãŒãã¹ãäœæãã providedIn ïŒLazyModuleã䜿çšããŠæ¥ç¶ããŸãã
- LazyComponentã³ã³ããŒãã³ããäœæãããããLazyModuleã«æ¥ç¶ããŸãã
- LazyServiceãLazyComponentã³ã³ããŒãã³ãã®ã³ã³ã¹ãã©ã¯ã¿ãŒã«è¿œå ããŸãã
- 埪ç°äŸåã®ãšã©ãŒãçºçããŸãã
æŠç¥çã«ã¯ãservice- > module-> component-> serviceã®ããã«ãªããŸãã
LazyModuleã«æ¥ç¶ããããµãã¢ãžã¥ãŒã«LazyServiceModuleãäœæããããšã«ããããã®åé¡ã解決ã§ããŸãã ãµãŒãã¹ããµãã¢ãžã¥ãŒã«ã«æ¥ç¶ããŸãã

ãã®å Žåãè¿œå ã®ã¢ãžã¥ãŒã«ãäœæããå¿ èŠããããŸãããããã»ã©åŽåãå¿ èŠãšããã次ã®å©ç¹ããããŸãã
- ä»ã®ã¢ããªã±ãŒã·ã§ã³ã¢ãžã¥ãŒã«ãžã®ãµãŒãã¹ã®å°å ¥ãé²ããŸãã
- ã³ã³ããŒãã³ããŸãã¯ã¢ãžã¥ãŒã«ã§äœ¿çšãããå¥ã®ãµãŒãã¹ã«åã蟌ãŸããŠããå Žåã«ã®ã¿ããµãŒãã¹ããã³ãã«ã«è¿œå ãããŸãã
ã³ã³ããŒãã³ããžã®ãµãŒãã¹ã®åã蟌ã¿ïŒprovidedInïŒSomeComponentïŒ
æ°ããæ§æã䜿çšããŠ@ComponentãŸãã¯@Directiveã«ãµãŒãã¹ãåã蟌ãããšã¯ã§ããŸããïŒ
çŸæç¹ã§ã¯ãããŸããïŒ
åã³ã³ããŒãã³ãã®ãµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ãäœæããã«ã¯ã ãããã€ãã䜿çšããå¿ èŠããããŸãïŒ @ omponentãŸãã¯@Directiveãã³ã¬ãŒã¿ã® [] ã

ã¢ããªã±ãŒã·ã§ã³ã§æ°ããæ§æã䜿çšããããã®æšå¥šäºé
å³æžé€š
givenInïŒãrootãã¯ã©ã€ãã©ãªã®äœæã«é©ããŠããŸãã ããã¯ãæ©èœã®çŽæ¥äœ¿çšãããéšåã®ã¿ãã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ããæçµçãªã¢ã»ã³ããªã®ãµã€ãºãçž®å°ããããã®éåžžã«äŸ¿å©ãªæ¹æ³ã§ãã
å®çšçãªäŸã®1ã€ã¯ngx-modelã©ã€ãã©ãªã§ããããã¯æ°ããæ§æã䜿çšããŠæžãçŽãããçŸåšã¯@ angular-extensions / modelãšåŒã°ããŠããŸãã æ°ããå®è£ ã§ã¯ãNgxModelModuleãã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ããå¿ èŠã¯ãããŸãããModelFactoryãå¿ èŠãªã³ã³ããŒãã³ãã«åã蟌ãã ãã§ååã§ãã ããã§å®è£ ã®è©³çŽ°ãèŠã€ããããšãã§ããŸã ã
é 延ããŠã³ããŒãã¢ãžã¥ãŒã«ïŒé 延ïŒ
ãµãŒãã¹çšã«å¥ã®givenInïŒLazyServicesModuleã¢ãžã¥ãŒã«ã䜿çšãããããLazyModuleã«ãã©ã°ã€ã³ããŸãã ãã®ã¢ãããŒãã¯ããµãŒãã¹ãã«ãã»ã«åããä»ã®ã¢ãžã¥ãŒã«ã«æ¥ç¶ãããªãããã«ããŸãã ããã«ããå¢çãèšå®ãããã¹ã±ãŒã©ãã«ãªã¢ãŒããã¯ãã£ã®äœæã«åœ¹ç«ã¡ãŸãã
ç§ã®çµéšã§ã¯ãã¡ã€ã³ãŸãã¯è¿œå ã¢ãžã¥ãŒã«ãžã®å¶çºçãªå°å ¥ïŒprovidedInïŒ 'root'ã䜿çšïŒã¯æ··ä¹±ãæãå¯èœæ§ããããæåã®è§£æ±ºçã§ã¯ãããŸããïŒ
givenIn ïŒ 'root'ãæ£ããæ©èœããŸããã providedInïŒLazyServideModuleã䜿çšãããšãä»ã®ã¢ãžã¥ãŒã«ã«å®è£ ããããšãã«ããããã€ããŒã èŠã€ãããŸããããšãããšã©ãŒãçºçããã¢ãŒããã¯ãã£ãä¿®æ£ã§ããŸãã ãµãŒãã¹ãã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³éšåã®ããé©åãªå Žæã«ç§»åããŸãã
ãããã€ããŒã䜿çšããå¿ èŠãããå ŽåïŒ[]ïŒ
ã¢ãžã¥ãŒã«ãæ§æããå¿ èŠãããå Žåã ããšãã°ããµãŒãã¹ãSomeModule.forRootïŒsomeConfigïŒã«ã®ã¿æ¥ç¶ããŸãã

äžæ¹ããã®ç¶æ³ã§ã¯ãprovidedInïŒ 'root'ã䜿çšã§ããŸãã ããã«ããããµãŒãã¹ãã¢ããªã±ãŒã·ã§ã³ã«1åã ãè¿œå ãããããšãä¿èšŒãããŸãã
çµè«
- givenIn ïŒ 'root'ã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³å šäœã§äœ¿çšå¯èœãªã·ã³ã°ã«ãã³ãšããŠãµãŒãã¹ãç»é²ããŸãã
- ã¡ã€ã³ãã³ãã«ã«å«ãŸããã¢ãžã¥ãŒã«ã«ã¯ã providedInïŒ 'root'ã䜿çšãã æäŸãããªãå ŽåïŒEagerlyImportedModuleã䜿çšããŸãã äŸå€çãªã±ãŒã¹ã§ã¯ã ãããã€ããŒã䜿çšããŠãã ããïŒ[]ã«ãã»ã«åã®ããã
- ãµãŒãã¹ã§ãµãã¢ãžã¥ãŒã«ãäœæããŠãã¹ã³ãŒãã®æäŸãå¶éããŸãã
- LazyServiceModuleã¢ãžã¥ãŒã«ãLazyModuleã«ãã©ã°ã€ã³ããŠã埪ç°äŸåãé²ããŸãã
- ãããã€ããŒã䜿çšããŸãã @ omponentããã³@Directiveãã³ã¬ãŒã¿ãŒã® []ã䜿çšããŠãæ°ããã³ã³ããŒãã³ãã€ã³ã¹ã¿ã³ã¹ããšã«æ°ãããµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ãäœæããŸãã ãµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ã¯ããã¹ãŠã®åã³ã³ããŒãã³ãã§ã䜿çšã§ããŸãã
- äŸåé¢ä¿ã®ç¯å²ãåžžã«å¶éããŠãã¢ãŒããã¯ãã£ãæ¹åããäŸåé¢ä¿ã®æ··ä¹±ãé¿ããŸãã
åç §è³æ
å ã®èšäºã
Angularã¯ãã·ã¢èªã話ãã³ãã¥ããã£ã§ãã
ãã·ã¢ã§ã®è§åºŠã®ããMeetup