클릭했을때 데이터를 넘겨보자.
일단 클릭을 하면 start함수를 호출하게끔 설계.
<p>
<button class='startBtn' (click)='start()'>시작</button>
<button class='stopBtn'>멈춤</button>
<button class='resetBtn'>리셋</button>
</p>
===============================================
start 함수를 선언을 해야 사용가능.
@Output()을 (데코레이터) 이용해서 emit에 값을 저장함.
@Component({
selector: 'app-buttons',
templateUrl: './buttons.component.html',
styleUrls: ['./buttons.component.scss']
})
export class ButtonsComponent implements OnInit {
@Output() clickEvent = new EventEmitter();
constructor() { }
start() {
this.clickEvent.emit(10);
}
ngOnInit(): void {
}
}
일단 여기까지 하면 값은 저장되었음.
이걸 부모 컴포넌트에서 뺼수있음.
===============================================
만약 자식인 app-buttons 에서 클릭이벤트 발생하면 startTime이란놈 호출함.
이때 파라미터는 $event 여야함. emit에 저장한놈이 여기로 가는거임.
<div class = 'title'>
<div class = 'display'>
<app-time-display></app-time-display>
<app-buttons (clickEvent)='startTime($event)'></app-buttons>
</div>
</div>
그러고 이제 부모 컴포넌트에서 startTime 함수 만들어서 받으면 됨.
======================================================
이렇게.
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-section',
templateUrl: './section.component.html',
styleUrls: ['./section.component.scss']
})
export class SectionComponent implements OnInit {
constructor() { }
startTime(num){
console.log('섹션 컴포넌트가 잘 받았다.')
console.log(num);
}
ngOnInit(): void {
}
}
'Developer' 카테고리의 다른 글
[Angular]export해서 import 하는법 (2) | 2020.10.03 |
---|---|
[Angular]부모의 데이터를 자식에게 넘기기 (0) | 2020.10.03 |
[Angular]click 이벤트 바인딩 (0) | 2020.10.03 |
[typescript]타입가드 (0) | 2020.10.02 |
[typescript]Decorator - 파라미터에 decorator 붙혀서 통제하기 (0) | 2020.10.02 |