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