Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Chart.js
- click and drag
- utilty type
- React Native
- javascript
- 티스토리꾸미기
- 타입좁히기
- 누구나 자료구조와 알고리즘
- 폰트적용하기
- React.js
- react
- TSDoc
- 2022
- 레이아웃쪼개기
- const 단언문
- 성능최적화
- 반복줄이기
- 커스텀
- JS console
- 리액트
- 제네릭
- reactjs
- vue.js
- returnType
- typescript
- 개발콘텐츠
- 타입스크립트
- CSS
- 공통컴포넌트
- NonNullable
Archives
- Today
- Total
몽땅뚝딱 개발자
[Vue.js] 인스턴스 속성(Instance Properties) 본문
Vue 객체의 속성 중 $가 붙은 것은 '내장 객체'라고 하며, 각 컴포넌트의 option들에 접근할 수 있는 속성들이다.
console.log(this)를 찍어보면 options 밑에 여러 객체가 있는 것을 확인할 수 있다.
◽ $data
컴포넌트 인스턴스의 data 옵션에 접근한다.
◽ $el
엘리먼트에 접근한다.
◽ $root
현재 컴포넌트 트리의 root Vue 인스턴스를 찾는다.
현재 인스턴스에 부모가 없다면 $root 값은 현재 인스턴스이다.
◽ $options
해당 컴포넌트의 option들에 접근할 수 있다.
컴포넌트의 스크립트 영역 안에 정의된 data, created, method, props 등을 option이라 일컫는다.
이미 정의된 옵션말고도 커스터마이징한 옵션에도 접근할 수도 있다.
// this.$root 컴포넌트 안의 props 옵션에 접근한다.
this.$root.$options.props
// filters 안에 선언한 커스텀 메서드에 접근한다.
this.$parent.$options.filters.customMethod
◽ $refs
props와 이벤트가 존재하지만, 가끔은 자식 요소에 Javascript를 이용해 직접 접근해야 하는 경우가 있다.
이 경우 ref 속성을 사용하여 레퍼런스(reference) ID를 자식 컴포넌트나 HTML 요소에 부여함으로써 직접 접근할 수 있다.
예제 1.
// HTML 영역
<div ref="target"></div>
// 스크립트 영역
...
methods: {
testMethod() {
this.$refs.target.innerText = "이것은 ref를 사용하는 방법";
}
}
예제 2.
// HTML 영역
<input ref="myInput" type="text" />
// 스크립트 영역
methods: {
// myInput이라는 ID를 가진 input에 접근하여 포커싱하는 메서드
inputfocus() {
this.$refs.myInput.focus()
}
}
💡 $refs 사용 시 주의사항
초기 렌더링 단계에서는 접근할 수 없고, 비반응성(non-reactive)이므로 데이터 바인딩을 위한 템플릿에서 사용해서는 안된다.
출처 및 참조
개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.
'Development > Vue.js' 카테고리의 다른 글
[Vue.js] apply(), call() (0) | 2021.12.23 |
---|---|
[Vue.js] $on (0) | 2021.12.22 |
[Vue.js] axios의 interceptors (0) | 2021.12.20 |
[Vue.js] 빌트인 컴포넌트 - component와 is (0) | 2021.12.20 |
[Vue.js] $nextTick (0) | 2021.12.19 |
Comments