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
- 타입좁히기
- 리액트
- javascript
- reactjs
- NonNullable
- click and drag
- const 단언문
- 공통컴포넌트
- 타입스크립트
- React Native
- vue.js
- 제네릭
- React.js
- 레이아웃쪼개기
- 2022
- react
- typescript
- CSS
- 반복줄이기
- JS console
- 티스토리꾸미기
- 개발콘텐츠
- TSDoc
- Chart.js
- 누구나 자료구조와 알고리즘
- 성능최적화
- 커스텀
- utilty type
- 폰트적용하기
- returnType
Archives
- Today
- Total
몽땅뚝딱 개발자
[Vue.js] $refs를 사용할 때 undefined 에러 본문
에러
부모 컴포넌트에서 자식 컴포넌트의 메소드를 호출할 때 생긴 에러이다.
1. this.$refs.childRefValue.methodName()을 찍었을 때 undefined
2. this.$refs.childRefValue를 찍었을 때 undefined
원인
이 문제는 항상 DOM이 다 생성되지 않았을 시점에 메소드나 데이터를 호출할 때의 문제였고 나는 해당되는게 없었다.
고 생각했는데 if~else 조건문에서 else에 있는 자식 컴포넌트의 메소드를 호출하고 있었다.
반대의 조건문에 있는건 아예 타지않기때문에 컴포넌트 자체가 dom에 존재하지 않았다....
해결
여러가지 찾아보다가 $refs를 사용하지 않고 props를 사용했다.
부모에서 props로 데이터 전달 => 자식 컴포넌트에서 data()에 해당 값을 기본값으로 초기화
=> 자식 컴포넌트에서 watch를 사용하여 해당 값이 바뀌면 메소드를 동작시키도록 했다.
개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.
'에러일지 > Vue.js' 카테고리의 다른 글
Comments