Todo service en schema.
Een service bevat alle code (eigenschappen/properties en functies/methodes) die je over meerdere componenten kan delen. Een service is een singleton waarmee je het aantal objecten van een klasse tot één beperkt. Met dit ontwerppatroon is het mogelijk om de toegang tot bepaalde systeembronnen altijd via één object te laten gaan. Of, met andere woorden, dat dezelfde functies en eigenschappen overal in de app kunnen worden gedeeld vanuit één enkele instantie.
Services zijn perfect voor het aanroepen van webservices (zie later) of voor het opslaan van data. Dit omdat je gegevens tussen componenten kan delen zonder telkens opnieuw de webservice te moeten gebruiken.
Schema aanmaken.
Het is niet verplicht, maar wel aangewezen om voor alle objecten eerst een schema op te stellen waarin je de
velden
van het object beschrijft. In dit schema geef je aan welke velden gebruikt worden, van welk type ze zijn en of
ze al dan niet verplicht zijn.
Een schema zorgt er ook voor dat tijdens de compilatie al gecontroleerd wordt of alle data aan dit schema
voldoet.
Je kan een schema als een class of als een interface definiëren. Uiteindelijk maakt het niet uit
wat je kiest. Na compilatie is de JavaScript-code voor beide toch net hetzelfde.
(In de Angular Style Guide raadt men aan om een
class te gebruiken en geen interface.)
- Maak in de map todo de todo-class aan.
$ ng g cl todo/todo - Wijzig de code op src/app/todo/todo.ts:
Service aanmaken.
- Maak in de map todo de todo-service aan en importeer de service in todo.module.ts.
$ ng g s todo/todo -m todo - Wijzig de code op src/app/todo/todo.service.ts: