donaricano-btn

앵귤러2 컴포넌트 사이 값 전달(@Input 장식자, inputs속성)


- 컴포넌트 사이(부모, 자식) 의 값을 전달하는 방법에 세가지가 있다

- @Input 장식자, inputs 속성, EventEmitter

- @Input 장식자와 inputs 속성은 부모 -> 자식으로 값을 전달

- EventEmitter 는 자식 -> 부모로 값을 전달


1. @Input장식자

- 외부에서 전달된 값을 받기 위해 사용하는 장식자

- 부모 컴포넌트에서 자식 컴포넌트로 값을 전달 한다

1) parant.ts

- 부모 컴포넌트에 넘겨줄 값을 선언한다.

2) parent.html

-  자식 컴포넌트 태그에 name 속성에 값을 전달

3) child.ts

- @Input 장식자를 이용하여 값을 받는다

4) child.html


2. inputs 속성

- 컴포넌트 장식자 설정의 inputs 속성을 통해서도 값을 받는 것이 가능하다

- @Input  장식자와 다르게 @Component 장식자 내부에 inputs 속성을 추가한다.

1) parent.ts

2) parent.html

- name 속성을 전달한다.

3) child.ts

-@Component 에 inputs 속성을 추가하여 값을 받는다.


3. EventEmitter

- 자식 컴포넌트에서 부모 컴포넌트로 값을 전달 할때 사용한다.

- @Output 장식자로 선언한 변수를 EventEmitter 로 초기화한다. 이후 emit()을 사용하여 부모로 이벤트 전달한다.

1) child.ts

- new EventEmitter<boolean> , EventEmitter 객체의 자료형은 boolean을 선언했다.

- boolean 선언으로 emit()의 값을 넘겨줄 때 boolean 으로 넘어가며 받는 컴포넌트(부모)도 동일하게 선언해야 한다

- emit() 를 통해 부모 컴포넌트에 값 전달

- this.outputProperty.emit(this.active)

2) parent.ts

3) parent.html

- 부모 컴포넌트의 값을 자식 컴포넌트가 값을 받을 때는 @Output 장식자로 선언한 변수와 동일한 속성명으로 받는다

블로그 이미지

리딩리드

,