인프런 커뮤니티 질문&답변

jjkim0222님의 프로필 이미지
jjkim0222

작성한 질문수

Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"

Template Refs

template내 자바스크립트 표현식 평가 시점은 언제인가요?

해결된 질문

작성

·

279

·

수정됨

0

<template>
  <input ref="input" type="text" />
    <div>{{ input }}</div> 
    <div>{{ input.value }}</div> // 오류난다. 
    <div>{{ $refs.input }}</div>
    <div>{{ input === $refs.input }}</div> // true 
</template>

<script>
import { onMounted, ref } from 'vue';

export default {
  components: {},

  setup() {
    const input = ref(null);
    console.log('setup 내 input.value :', input.value)
    onMounted(() => {
      input.value.value = 'Hello World!';
      input.value.focus();
    });

    return {
      input,
    };
  },
};
</script>

1) 여기서 template 내 JS 표현식은 created 훅 이후 mounted 훅 이전 그 사이에 평가되는 건가요? 혹시 정확한 평가 시점을 알 수 있을까요?

2) 만약에 template 내 JS 표현식이 created 이후에 평가된다면 created 시점, 즉 생성 시점에는 컴포넌트를 생성한다고 했는데 이 컴포넌트를 생성한다라는 게 정확히 뭘 의미하는 건가요?
template 내 JS 표현식 역시 컴포넌트의 일부 아닌가요?

답변 1

0

짐코딩님의 프로필 이미지
짐코딩
지식공유자

안녕하세요 :)

1) mounted 전에 랜더링 시점에 평가됩니다. 아래 다이어그램 참고부탁드립니다.

https://vuejs.org/guide/essentials/lifecycle.html#lifecycle-diagram

2) 컴포넌트 인스턴스(this)의 생성을 의미합니다.

jjkim0222님의 프로필 이미지
jjkim0222

작성한 질문수

질문하기