子组件:
import { Component, EventEmitter, Output } from '@angular/core';
@Component({
selector: 'child-component',
template:
})
export class ChildComponent {
@Output() messageEvent = new EventEmitter
sendMessage() { this.messageEvent.emit('Hello from child component!'); } }
父组件:
import { Component } from '@angular/core';
@Component({
selector: 'parent-component',
template: {{message}}
})
export class ParentComponent {
message:string;
receiveMessage($event) { this.message = $event } }
子组件:
import { Component } from '@angular/core';
@Component({ selector: 'child-component', template: `` }) export class ChildComponent { message:string = 'Hello from child component!';
getMessage() { return this.message; } }
父组件:
import { Component, ViewChild } from '@angular/core'; import { ChildComponent } from './child.component';
@Component({
selector: 'parent-component',
template: {{message}}
})
export class ParentComponent {
message:string;
@ViewChild(ChildComponent) childComponent: ChildComponent;
ngAfterViewInit() { this.message = this.childComponent.getMessage(); } }