하위컴포넌트에 값을 전달하기위한 방법은 하위컴포넌트 속성에 전달하고자하는 값을 바인딩한다.
하위컴포넌트에서는 @Input데코레이터를 사용하고 ngOnChanges에서 변수에 값이 할당된다.
private _name='';
@Input()
get name(){
return this._name;
}
set name(name:string){
this._name = (name && name.trim()) || 'no name';
}
getter와 setter함수를 사용하면 이 동작을 가로채서 원하는 로직을 추가할 수 있다.
@Input 변수에 getter, setter함수를 사용하여 가로채기하려면 입력변수마다 함수를 정의해야 한다.
ngOnChanges후킹 메소드를 사용하면 입력변수의 변화를 감지하여 여러동작을 할 수 있다.
getter, setter함수는 조작을 하려할때 필요하고 여러개의 입력변수를 한번에 ngOnChanges는 변화를 감지할 수 있다.