Parent and Child
If you inject Service in parent, child component can use parent injection service.
This is an example.
Example
ParentService
parent.service.ts
import { Injectable } from '@angular/core'; @Injectable() export class ParentService { getMessage() { return 'I am parent.'; } }
Parent
parent.component.ts
import { Component } from '@angular/core'; import { ParentService } from './parent.service'; @Component({ selector: 'app-root', providers: [ {provide: ParentService, useClass: ParentService} ], template: ` <div> Parent : {{message}} </div> <div> <app-child-comp></app-child-comp> <app-child-comp></app-child-comp> </div> ` }) export class ParentComponent { message: string; constructor(private parentService: ParentService) { this.message = parentService.getMessage(); } }
Can use in constructor
Child
This component is imported by parent component
import { Component } from '@angular/core'; import { ParentService } from './parent.service'; @Component({ selector: 'app-child-comp', template: ` <div>Child : {{message}}</div> ` }) export class ChildComponent { message: string; constructor(private parentService: ParentService) { this.message = parentService.getMessage(); } }
Child also can use ParentService which is injected by Parent
コメント