티스토리 뷰
반응형
Angular에서는 view의 DOM에 대한 내용을 처리하는 Directive라는 개념이 있다.
Angular가 기본적으로 제공되는 directive도 있으며,
사용자가 필요에 따라 커스텀하게 만들 수 있다.
이 포스팅에서는 기본 제공되는 여러 directive 중
@HostListener와 @HostBinding에 대해 비교해보려 한다.
(왜냐면 내가 헷갈렸기 때문이다ㅠ)
결과적으로 보면 이름은 비슷한데,
하는 내용은 완전히 다르다.
예시를 각각 보면서 확인해보자.
HostListener 예시
@HostListener('click', ['$event.target'])
onClick(target) {
console.log('click!', target);
}
HostListener 디렉티브는
첫번째 parameter로는 이벤트명을 받고
두번째 parameter는 이벤트 타겟을 받는다. (생략 가능)
예시에서 볼 수 있듯이 HostListener는
이벤트 핸들링과 관련된 디렉티브다.
위의 예시는
클릭 이벤트에 대한 이벤트 핸들링을 해주는 예시인 것이다.
HostBinding 예시
@HostBinding('class.valid') get valid() {
return this.control.valid;
}
HostBinding 디렉티브는
첫번째 parameter로 element의 속성 값을 받는다. (생략 가능)
Angular에서는 자동적으로 element의 속성 값의 변화를 자동적으로 감지하고 있다.
@HostBinding은 지정된 속성 값이 바뀌면
해당 element를 업데이트해주는 역할을 한다.
즉, 위의 예시는
해당 컴포넌트에 대해 valid 라는 클래스가 있으면
this.control.valid 값을 리턴해주는 내용의 예시인 것이다.
반응형
'정리하기 > JS 관련' 카테고리의 다른 글
typescript ` 구문 (0) | 2017.07.04 |
---|---|
browserify (0) | 2017.06.29 |
자바스크립트 객체 (0) | 2017.05.28 |
undefined vs void 0 (0) | 2017.05.16 |
apply, call, bind (0) | 2017.05.15 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- nextTick
- Typescript
- 자바스크립트
- javascript
- awe-some
- common.js
- node.js
- mocha.js
- node
- AndroidContext
- eventbus
- 원하는것이있다면끝까지버텨라
- 함수
- vue.js
- 외부모듈
- marionetts.js
- nodejs
- js
- browserify
- awesome-vue
- framework
- angular
- Android
- backbone.js
- #가상머신
- git tag
- vue
- MarionetteJS
- 뉴욕
- vuex
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함