ã泚æ perevãïŒãã®èšäºãç解ããã«ã¯ãAngularã®åºæ¬çãªç¥èïŒã³ã³ããŒãã³ããšã¯äœããåçŽãªSPAã¢ããªã±ãŒã·ã§ã³ã®äœææ¹æ³ãªã©ïŒãå¿
èŠã§ãã ãã®ãããã¯ã«ç²ŸéããŠããªãå Žåã¯ãæåã«SPAã¢ããªã±ãŒã·ã§ã³ãäœæããäŸã«æ
£ããããšããå§ãããŸãã ããã¥ã¡ã³ãã
NgModuleã«ã€ããŠã¯ã ãã¡ããã芧ãã ãã ã
1幎åãç§ã¯ãã§ã«NgModulesã«é¢ããèšäºãå
¬éããŸãã ãããã¯ãã¢ãžã¥ãŒã«ãåå空éãªã©ããã€ã€ã³ããŒããããã®æè¡çãªè©³çŽ°ã説æããŠããŸãã ã¬ãã¥ãŒã«æšå¥šïŒperevã«æ³šæããŠãã ãããã³ã³ãã³ãã«é¢ããèšäºã¯ãåé ã§åç
§ããèšäºãšé¡äŒŒããŠããŸãïŒ ã
ç§ã¯æè¿ãAngularãç§ã«äžããææŠãåãå
¥ããŸããã ãããŸã§ãAngularã®å
¬åŒããã¥ã¡ã³ãã§ææ¡ãããŠããã¢ãããŒãã䜿çšããŠããŸããã ãããã倧ããªãããžã§ã¯ãã«éãããšãæ¬ é¥ãçŸãå§ããŸããã
ç§ã¯NgModulesã®ããã¥ã¢ã«ã詳现ã«å匷ãå§ããŸãããããã¯FAQã§12ããŒãžã®è©³çŽ°ãªèª¬æã«æé·ããŸããã ãããã質åã泚ææ·±ãèªãã åŸãçã以äžã®ãã®ããããŸããã ããšãã°ããµãŒãã¹ãå®è£
ããæ¹ãããã®ã¯ã©ãã§ããïŒ ãã®è³ªåã«å¯Ÿããæ確ãªçãã¯ãããŸããã§ããã ããã«ãããã€ãã®æ±ºå®ã¯ãããã¥ã¢ã«ã®æèã§äºãã«ççŸããŠããŸãã
NgModules
å
šäœãæ¶åããåŸã以äžã«åºã¥ããŠãAngularã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ãœãªã¥ãŒã·ã§ã³ãå®è£
ããããšã«ããŸããã
- æ§é ïŒå°èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ç°¡åã倧èŠæš¡ãªãããžã§ã¯ãã§ã¯ã¹ã±ãŒã©ããªãã£ã
- ãŠãŒã¶ããªã㣠ïŒä»ã®ãããžã§ã¯ãã§ãœãªã¥ãŒã·ã§ã³ã䜿çšããèœåã
- æé©å ïŒé
延ããŒããå«ãïŒ;
- ãã¹ã容ææ§ ã
è§åºŠã¢ãžã¥ãŒã«
è§åºŠã¢ãžã¥ãŒã«ãšã¯äœã§ããïŒ
å®éãã¢ãžã¥ãŒã«ã®äž»ãªç®æšã¯ãã³ã³ããŒãã³ããçžäºã«é¢é£ãããµãŒãã¹ãã°ã«ãŒãåããããšã§ãã ãããŠãäžè¬çã«ããã以äžäœããããŸããã ããšãã°ãã¡ã€ã³ããŒãžã«ãã¥ãŒã¹ãããã¯ããããšããŸãã ãããŸãã«èšããšãèŠèŠéšåã¯ã³ã³ããŒãã³ãã§ãããããŒã¿ããŒã¹ããããŒã¿ãååŸããã¡ã«ããºã ã¯ãµãŒãã¹ã§ãã
Javaã«ç²ŸéããŠãã人ã«ãšã£ãŠã¯ãAngularã¢ãžã¥ãŒã«ã¯ããã±ãŒãžã§ãããCïŒ/ PHPã§ã¯åå空éã§ãã
æ®ã£ãŠãã質åã¯1ã€ã ãã§ã-ã¢ããªã±ãŒã·ã§ã³ã®æ©èœãæ£ããã°ã«ãŒãåããæ¹æ³ã¯ïŒ
è§åºŠã¢ãžã¥ãŒã«ã®çš®é¡
ãããã®3ã€ã ãããããŸãã
- ããŒãžã¢ãžã¥ãŒã«
- ãµãŒãã¹ã¢ãžã¥ãŒã« ;
- åå©çšå¯èœãªã³ã³ããŒãã³ãã¢ãžã¥ãŒã« ã
ng new projectname
éå§ã¢ããªã±ãŒã·ã§ã³ãäœæããã
ãã®åŸãå°ãªããšãããŒãžã¢ãžã¥ãŒã«ãäœæããŸããã ãã®å Žåã1ã€ãã¡ã€ã³ã§ãã
ã¢ããªã±ãŒã·ã§ã³ãæé·ããã«ã€ããŠãããŒãžããµãŒãã¹ãã³ã³ããŒãã³ãçšã®æ°ããã¢ãžã¥ãŒã«ãäœæããããããã°ã«ãŒãåããŸãã ãã¡ããããµãŒãã¹ãæäŸããã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³ãååŸãããã¹ãŠã®æ©èœã1ã€ã®ãã¡ã€ã«ã«ããŒãžããããªãå Žåãé€ããŸãã
ããŒãžã¢ãžã¥ãŒã«
ããŒãžã¢ãžã¥ãŒã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®é åãè«ççã«åé¢ããããã«ã«ãŒãã£ã³ã°ããã³èšèšãããŠããŸãã ããŒãžã¢ãžã¥ãŒã«ã¯ãã¡ã€ã³ã¢ãžã¥ãŒã«ïŒéåžžã¯AppModule
ãšåŒã°ãAppModule
ïŒã«äžåºŠèªã¿èŸŒãŸããããé
延èªã¿èŸŒã¿ã«ãã£ãŠèªã¿èŸŒãŸããŸãã
ããšãã°ãèªèšŒããã°ã¢ãŠããããã³ç»é²ããŒãžã§ã¯ã AccountLogin
ã¢ãžã¥ãŒã«ãå¿
èŠã§ãã ããŒããŒãªã¹ãããŒãžãããŒããŒããŒãžãªã©ã®HeroesModule
ïŒperevã«æ³šæããŠãã ãããããã¯ãå
¬åŒããã¥ã¡ã³ãã«èšèŒãããŠãããã¬ãŒãã³ã°ãããžã§ã¯ããæå³ããŸãïŒ ã
ããŒãžã¢ãžã¥ãŒã«ã«ã¯ä»¥äžãå«ããããšãã§ããŸãã
- / shared ïŒãµãŒãã¹ãšã€ã³ã¿ãŒãã§ãŒã¹ã
- /ããŒãž ïŒã«ãŒããæã€ã³ã³ããŒãã³ãã
- / components ïŒããŒã¿ã®èŠèŠåã®ããã®ã³ã³ããŒãã³ãã
ããŒãžã®å
Œ
±ãµãŒãã¹
ããŒãžã«ããŒã¿ã衚瀺ããã«ã¯ããŸãã©ãããããã®ããŒã¿ãååŸããå¿
èŠããããŸãã ããããµãŒãã¹ãå¿
èŠãªãã®ã§ãã
@Injectable() export class SomeService { constructor(protected http: HttpClient) {} getData() { return this.http.get<SomeData>('/path/to/api'); } }
ãã®åŸãäžéšã®ããŒãžã«ã¯åæ§ã®ããŒã¿ãå¿
èŠã«ãªããŸããããã¯ãåãã¿ã€ãã®ãµãŒãã¹ãæå³ããŸãã ãã®å Žåãç¹å®ã®ã¢ãžã¥ãŒã«ã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³å
šäœã§1ã€ã®ãµãŒãã¹ãå
¬éããå¿
èŠããããŸãã
ãããããã¹ããã©ã¯ãã£ã¹ãšããŠã¯ãç¹å®ã®ããŒãžã«ç¹å®ã®çš®é¡ã®ããŒã¿ãç¹å®ã®ãµãŒãã¹ãå¿
èŠã«ãªãããã«ã¢ãžã¥ãŒã«ãèšèšããããšããå§ãããŸãã ãã®å Žåããã®ãµãŒãã¹ãã«ãã»ã«åããã¢ããªã±ãŒã·ã§ã³å
šäœã§ã¯ãªã1ã€ã®ã¢ãžã¥ãŒã«å
ã§ã®ã¢ã¯ã»ã¹ãå¶éããå¿
èŠããããŸãã
ã泚æ 翻蚳ã
ãã®ã¢ãŒããã¯ãã£ã䜿çšãããšãã¢ããªã±ãŒã·ã§ã³ã®ã¡ã³ããã³ã¹ãç°¡åã«ãªããŸãã ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ããžãã¯ã¯ãããã¯ã«åå²ãããç¹å®ã®æ©èœã®å®è¡ãæ
åœããŸãã ãã¹ãŠã1ã€ã®ãµãŒãã¹ã«ããŒãžããã¢ããªã±ãŒã·ã§ã³å
šäœã§å©çšã§ããããã«ãããšãæ©èœã®æ¡åŒµã«åé¡ãçºçããã€ã³ã¿ãŒãã§ã€ã¹ãåäžã®è²¬ä»»ãããã³ãã®ä»ã®SOLIDã®åé¢ã®ååãšççŸããããšã«ãªããŸãã ãã ããã¢ããªã±ãŒã·ã§ã³ã®ã¢ãŒããã¯ãã£ãèšèšããæ¹æ³ã¯ãŠãŒã¶ãŒæ¬¡ç¬¬ã§ãã
äŸãšããŠä»¥åã«çºè¡šãããAccountManager
ã¢ãžã¥ãŒã«ã«æ»ããŸãããã ãã®ã¢ãžã¥ãŒã«AccountService
ã®ãµãŒãã¹ã¯ãthinãã§ãããå¿
èŠã«å¿ããŠããŠãŒã¶ãŒã®ããŒã«ã¢ãã«ã«å¿ããŠãyesããŸãã¯ãnoããšåçããå¿
èŠããããŸãã ãã®ãµãŒãã¹ã§ã¯ããŠãŒã¶ãŒã¹ããŒã¿ã¹ïŒãªã³ã©ã€ã³ãã©ããïŒãå®è£
ã§ããŸããã ãã®ã¢ãžã¥ãŒã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®äžéšã§ã¯å¿
èŠãªãå ŽåããããŸãã ãããã£ãŠããŠãŒã¶ãŒã¹ããŒã¿ã¹ã¯ãã¢ããªã±ãŒã·ã§ã³å
šäœã§å©çšã§ããã°ããŒãã«ãµãŒãã¹ã«ç§»åããå¿
èŠããããŸãïŒä»¥äžãåç
§ïŒã
ããŒãžã¢ãžã¥ãŒã«ïŒã«ãŒãã£ã³ã°
ããŒãžã³ã³ããŒãã³ãã¯ããµãŒãã¹ã«ãã£ãŠååŸãããããŒã¿ããŒã¹ããã®æ
å ±ã衚瀺ãã圹å²ãæãããŸãã
ã³ã³ããŒãã³ãã§ããŒã¿ãçŽæ¥è¡šç€ºã§ããŸããããããè¡ãå¿
èŠã¯ãããŸããã ããŒã¿ãå€æ°ãšããŠå¥ã®ã³ã³ããŒãã³ãã«æž¡ãããšãã§ããŸã
@Component({ template: `<app-presentation *ngIf="data" [data]="data"></app-presentation>` }) export class PageComponent { data: SomeData; constructor(protected someService: SomeService) {} ngOnInit() { this.someService.getData().subscribe((data) => { this.data = data; }); } }
åã³ã³ããŒãã³ãã«ã¯ç¬èªã®ã«ãŒãããããŸãã
ããŒã¿å¯èŠåã³ã³ããŒãã³ã
ããŒã¿è¡šç€ºã³ã³ããŒãã³ãã¯ã @ Inputãã³ã¬ãŒã¿ã䜿çšããŠæ
å ±ãæœåºãããã³ãã¬ãŒãã«è¡šç€ºããŸã
@Component({ selector: 'app-presentation', template: `<h1>{{data.title}}</h1>` }) export class PresentationComponent { @Input() data: SomeData; }
MVxã§ããïŒ
model-controller-representationãã¿ãŒã³ã«ç²ŸéããŠãã人ã¯ã質åãããã§ããã-ããã§ããïŒ çè«ã«åŸãã°ããããã ãã ããMVxã䜿çšããŠAngularã¢ãŒããã¯ãã£ãæ³åããæ¹ãç°¡åãªå Žåã¯ã次ã®ããã«ããŸãã
ãµãŒãã¹ã¯Modelsã«å¹æµããŸã
ãã¬ãŒã³ããŒã·ã§ã³ã³ã³ããŒãã³ãã¯Viewã«äŒŒãŠããŸã
ããŒãžã³ã³ããŒãã³ãã¯ã Controllers \ Presenters \ ViewModels ïŒäœ¿çšãããã®ãéžæïŒã«ãªããŸãã
ããã¯æ£ç¢ºã«MVxã§ã¯ãªãïŒãŸãã¯ãŸã£ããMVxã§ã¯ãªãïŒã«ããããããããã®ã¢ãããŒãã®ç®æšã¯åãã§ããåé¡ã解決ãã責任ãå
±æããŸãã ãªããããéèŠãªã®ã§ããïŒ ãã®çç±ã¯æ¬¡ã®ãšããã§ãã
- ãèããã³ã³ããŒãã³ãïŒãã¬ãŒã³ããŒã·ã§ã³ïŒã¯ä»ã®ãããžã§ã¯ãã§äœ¿çšã§ããŸããã
- ã³ã³ããŒãã³ãçºèŠæŠç¥ã®æé©åã
- ãèããã³ã³ããŒãã³ãã®ãã¹ãå¯èœæ§ïŒã¢ããªã±ãŒã·ã§ã³ããžãã¯ãå
±æããªãå Žåããã¹ããå¿ãããšãå°çã«ãªããŸãïŒã
ãŸãšã
ããŒãžã¢ãžã¥ãŒã«ã®äŸ
@NgModule({ imports: [CommonModule, MatCardModule, PagesRoutingModule], declarations: [PageComponent, PresentationComponent], providers: [SomeService] }) export class PagesModule {}
ãµãŒãã¹ã¯ãã®ã¢ãžã¥ãŒã«ã«ã«ãã»ã«åãããŸãã
ã°ããŒãã«ãµãŒãã¹ã¢ãžã¥ãŒã«
ã°ããŒãã«ãµãŒãã¹ã¢ãžã¥ãŒã«ã¯ãã¢ããªã±ãŒã·ã§ã³å
ã®ã©ãããã§ããµãŒãã¹ãžã®ã¢ã¯ã»ã¹ãæäŸããŸãã ãã®ãããªãµãŒãã¹ã«ã¯ã°ããŒãã«ã¹ã³ãŒããããããããããã®ã¢ãžã¥ãŒã«ã¯ã«ãŒãã¢ãžã¥ãŒã«ïŒ AppModule
ïŒã«äžåºŠã ãããŒããããã©ãã§ã䜿çšå¯èœã§ãã é
延ããŒããå®è£
ããå Žåã
ãã®ãããªãµãŒãã¹ãå°ãªããšã1ã€ã¯ééããªã䜿çšããŠããŸãã äŸïŒ HttpModule ã ããããããã«HttpModule
ã«äŒŒããµãŒãã¹ãå¿
èŠã«ãªããŸãã ããšãã°ã AuthModule
ã¯ããŠãŒã¶ãŒãšãã®ããŒã¯ã³ã®çŸåšã®ã¹ããŒã¿ã¹ãä¿åããã¢ããªã±ãŒã·ã§ã³å
šäœããŠãŒã¶ãŒã»ãã·ã§ã³å
šäœã§å¿
èŠã§ãã
䜿ãããã
ã°ããŒãã«ãµãŒãã¹ã®ã¢ãžã¥ãŒã«ã®èšèšã«æ³šæãæã£ãŠããå Žåã¯ãç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ãå®è£
ããã®ã§ã¯ãªããèŠèŠçãªéšåãªãã§ãããè¡ãããµãŒãã¹ããžãã¯ãåå¥ã®ã¢ãžã¥ãŒã«ã«åå²ããã€ã³ã¿ãŒãã§ã€ã¹ã¬ãã«ã§èšèšããŸãïŒã€ãŸããç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã®äŸåé¢ä¿ãå®è£
ããŸããïŒã¢ãžã¥ãŒã«ã¯ä»ã®ãããžã§ã¯ãã§äœ¿çšã§ããŸãã
ã¢ãžã¥ãŒã«ãä»ã®ãããžã§ã¯ãã§ïŒã€ãŸããå€éšããïŒäœ¿çšã§ããããã«ããå Žåã¯ãNgModuleãã€ã³ã¿ãŒãã§ã€ã¹ãããã³å®è£
çšã®ããŒã¯ã³ããšã¯ã¹ããŒããããšã³ããªãã€ã³ããäœæããå¿
èŠãããããšã«æ³šæããŠãã ããã
export { SomeService } from './some.service'; export { SomeModule } from './some.module';
CoreModuleãè¡ãå¿
èŠããããŸã
å¿
èŠãããŸããã å
¬åŒããã¥ã¡ã³ãã§ã¯ããã¹ãŠã®ã°ããŒãã«ãµãŒãã¹ãCoreModuleã«å®è£
ããããšãææ¡ããŠããŸãã ãã¡ããããããã/ core / modulesã«ã°ã«ãŒãåã§ããŸããã責任ã®åå²ã«æ³šæãæãããã¹ãŠã1ã€ã®CoreModule
ãããŒãžãããªãã§CoreModule
ã ããããªããšãå®è£
ãããæ©èœãä»ã®ãããžã§ã¯ãã§äœ¿çšã§ããªããªããŸãã
åèšã§
ãµãŒãã¹ã®ã°ããŒãã«ã¢ãžã¥ãŒã«ã®äŸ
@NgModule({ providers: [SomeService] }) export class SomeModule {}
UIã³ã³ããŒãã³ããšããŒã¿ã®åä¿¡æ¹æ³
UIã³ã³ããŒãã³ãïŒãŠã£ãžã§ãããªã©ïŒã¯ãèããããããŒãžã¢ãžã¥ãŒã«ãã§èª¬æããããã«ãåä¿¡ããããŒã¿ãèŠèŠåãã圹å²ã®ã¿ãæãããŸãã ã³ã³ããŒãã³ãã¯ã @ Inputãã³ã¬ãŒã¿ã䜿çšããŠããŒã¿ãåä¿¡ããŸãïŒ<ng-content>ãããå Žåã«ãã£ãŠã¯ä»ã®ãœãªã¥ãŒã·ã§ã³ããïŒã
Component({ selector: 'ui-carousel' }) export class CarouselComponent { @Input() delay = 5000; }
ãµãŒãã¹ã ãã«é Œãã¹ãã§ã¯ãããŸããã ãªãã§ïŒ ãµãŒãã¹ã«ã¯ãªãã¡ãŒã«å¿ããŠç¬èªã®ç¹æ§ãããããã§ãã ããšãã°ãAPI URLãå€æŽãããå ŽåããããŸãã ããŒã¿è¡šç€ºã¯ãã¢ãžã¥ãŒã«ã®ããŒãžå
ã®ã³ã³ããŒãã³ãã®åé¡ã§ãã UIã³ã³ããŒãã³ãã¯ã誰ããæäŸããããŒã¿ãåãåããŸããããããã¯åãåããŸããã
ãããªãã¯ããã³ãã©ã€ããŒãã³ã³ããŒãã³ã
ã³ã³ããŒãã³ãã䜿çšå¯èœïŒãããªãã¯ïŒã«ããã«ã¯ãã¢ãžã¥ãŒã«ã§ãšã¯ã¹ããŒãããå¿
èŠããããŸãã ãã ãããã¹ãŠãã€ã³ããŒãããå¿
èŠã¯ãããŸããã ãã¹ããããã³ã³ããŒãã³ãã¯ãã¢ããªã±ãŒã·ã§ã³ã®ä»ã®å Žæã§å¿
èŠãšãããªãå Žåããã©ã€ããŒãã®ãŸãŸã«ããå¿
èŠããããŸãã
ãã£ã¬ã¯ãã£ããšãã€ã
ãã£ã¬ã¯ãã£ããšãã€ãã®ã¢ãžã¥ãŒã«ã«ã€ããŠè©±ãå ŽåãUIã³ã³ããŒãã³ããšäŒŒãŠããŸãã å¿
èŠã«å¿ããŠãã¢ãžã¥ãŒã«ã§ãšã¯ã¹ããŒãããå¿
èŠãªå Žæã§äœ¿çšããŸãã
é衚瀺ïŒãã©ã€ããŒãïŒãµãŒãã¹
ã³ã³ããŒãã³ãUIå
ã§ã®ã¿ããŒã¿ãæäœããã«ã¯ã NgModule
ã§ã¯ãªããã³ã³ããŒãã³ãå
ã§ã®ã¿ãµãŒãã¹ãå®è£
ããã³ã³ããŒãã³ã以å€ã®ãã¹ãŠã«å¯ŸããŠãµãŒãã¹ãéããããšãã§ããŸãã ãã®å Žåã次ã®ããã«ãªããŸã
@Component({ selector: 'some-ui', providers: [LocalService] }) export class SomeUiComponent {}
å
Œ
±ãµãŒãã¹
UIã³ã³ããŒãã³ãã«å®è£
ãããŠãããµãŒãã¹ãžã®ã¢ã¯ã»ã¹ãéãããç¶æ³ãæ³åããŠãã ããã ããã¯ã§ããéãé¿ããã¹ãã§ãããå¯èœã§ãã
NgModule
ã§ãµãŒãã¹ãžã®ã¢ã¯ã»ã¹ãéããšãã¢ãžã¥ãŒã«ã®è€æ°ã®ããŒãã®åé¡ãçºçããŸãã ã¢ãžã¥ãŒã«ã«ã³ã³ããŒãã³ããå®è£
ããŸãã
ãã®åé¡ã解決ããã«ã¯ããã®æ¹æ³ã§ã¢ãžã¥ãŒã«ãå®è£
ããå¿
èŠããããŸã
xport function SOME_SERVICE_FACTORY(parentService: SomeService) { return parentService || new SomeService(); } @NgModule({ providers: [{ provide: SomeService, deps: [[new Optional(), new SkipSelf(), SomeService]], useFactory: SOME_SERVICE_FACTORY }] }) export class UiModule {}
ã¡ãªã¿ã«ãããã¯Angular CDKã«å®è£
ãããŠããŸãïŒå°ãªããšãããã§ããïŒã
䜿ãããã
ã¢ãžã¥ãŒã«ã®åœ¢ã§UIã³ã³ããŒãã³ãã䜿çšããã«ã¯ãã³ã³ããŒãã³ã\ãã€ã\ãã£ã¬ã¯ãã£ããªã©ããšã¯ã¹ããŒãããã¢ã¯ã»ã¹ãã€ã³ããäœæããŠããããžã®ã¢ã¯ã»ã¹ãéãå¿
èŠããããŸã
export { SomeUiComponent } from './some-ui/some-ui.component'; export { UiModule } from './ui.module';
SharedModuleãå®è¡ããå¿
èŠããããŸããïŒ
SharedModuleã®ãã¹ãŠã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ïŒUIã³ã³ããŒãã³ãïŒããã¹ãŠããŒãžããå¿
èŠããããŸããïŒ ããã¥ã¡ã³ãã§ã¯ãã®ãœãªã¥ãŒã·ã§ã³ãæäŸããŠããŸããã SharedModule
å®è£
ãããåã¢ãžã¥ãŒã«ã¯ãã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ãªããããžã§ã¯ãã¬ãã«ã§å®è£
ãããŸãã
ç¹ã«VS CodeïŒãŸãã¯ä»ã®IDEïŒã§ãã®ããã»ã¹ãèªååããããšã«ããããããžã§ã¯ãã®äœææã«äŸåé¢ä¿ãã€ã³ããŒãããéã«åé¡ã¯ãããŸããã
ãã ããããšãã°ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãšã³ãã£ãã£ããšã«åå¥ã®ã¢ãžã¥ãŒã«ãäœæãã/ uiãã©ã«ããŒã«é
眮ããããšããå§ãããŸãã
åèšã§
UIã¢ãžã¥ãŒã«ã®äŸ
@NgModule({ imports: [CommonModule], declarations: [PublicComponent, PrivateComponent], exports: [PublicComponent] }) export class UiModule {}
çµæã¯äœã§ããïŒ
äžèšãèæ
®ããŠã¢ããªã±ãŒã·ã§ã³ãèšèšããå ŽåïŒ
å°èŠæš¡ã¢ããªã±ãŒã·ã§ã³ã§ã倧èŠæš¡ã¢ããªã±ãŒã·ã§ã³ã§ããé
å»¶è² è·ã®æç¡ã«é¢ä¿ãªããé©åã«æ§é åãããã¢ãŒããã¯ãã£ã䜿çšã§ããŸãã
ã°ããŒãã«ã¢ãžã¥ãŒã«ãŸãã¯UIã³ã³ããŒãã³ããã©ã€ãã©ãªã«ããã±ãŒãžåããä»ã®ãããžã§ã¯ãã§äœ¿çšã§ããŸãã
èŠåŽããã«ã¢ããªã±ãŒã·ã§ã³ããã¹ãããŸãã
ãããžã§ã¯ãæ§é ã®äŸ
app/ |- app.module.ts |- app-routing.module.ts |- core/ |- auth/ |- auth.module.ts |- auth.service.ts |- index.ts |- othermoduleofglobalservice/ |- ui/ |- carousel/ |- carousel.module.ts |- index.ts |- carousel/ |- carousel.component.ts |- carousel.component.css |- othermoduleofreusablecomponents/ |- heroes/ |- heroes.module.ts |- heroes-routing.module.ts |- shared/ |- heroes.service.ts |- hero.ts |- pages/ |- heroes/ |- heroes.component.ts |- heroes.component.css |- hero/ |- hero.component.ts |- hero.component.css |- components/ |- heroes-list/ |- heroes-list.component.ts |- heroes-list.component.css |- hero-details/ |- hero-details.component.ts |- hero-details.component.css |- othermoduleofpages/
ãã®ã¢ãŒããã¯ãã£ã«ã€ããŠã³ã¡ã³ããããå Žåã¯ãã³ã¡ã³ããæ®ããŠãã ããã
-ãã·ã¢èªã話ãAngularã³ãã¥ããã£ã®é»å ± ã