반응형
여승철
INTP 개발자
여승철
  • 분류 전체보기 (376)
    • CS (16)
      • 면접 준비 (7)
      • 운영체제 (0)
      • 네트워크 (2)
      • HTTP (6)
      • 스프링(Spring) IoC 컨테이너 (0)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Java (43)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • ETC (11)

블로그 메뉴

  • 홈
  • 태그

인기 글

태그

  • 맥킨지
  • Dao
  • EC2
  • mybatis
  • controller
  • ubuntu
  • JSTL
  • 로그인
  • servlet
  • Spring Batch
  • HTTP
  • 디자인 패턴
  • 회원 관리
  • JDBC
  • jsp
  • 스트림
  • 환경 세팅
  • 게시판
  • 이펙티브 자바
  • querydsl

최근 댓글

최근 글

hELLO· Designed By 정상우.
여승철

INTP 개발자

Vue.js ref 속성으로 요소와 컴포넌트에 쉽게 접근하기
Front-End/Vue.js

Vue.js ref 속성으로 요소와 컴포넌트에 쉽게 접근하기

2023. 7. 12. 11:45
반응형

ref 속성

ref 속성은 Vue 컴포넌트에서 DOM 요소나 자식 컴포넌트에 쉽게 접근하기 위한 핵심적인 기능입니다. 

 

ref 사용법

1) 요소 접근

<template>
  <div>
    <input ref="Input" type="text" />
    <button @click="Output">출력</button>
  </div>
</template>

템플릿에서 요소에 `ref` 속성을 추가하여 해당요소를 참조할 수 있습니다. 위 예제 코드에서는 `Input`으로 지정하였습니다. 당연히 참조할 때 구분이 되어야하기 때문에 `ref` 속성에 지정하는 값은 유니크해야 합니다.

 

<script>
export default {
  methods: {
    Output() {
      console.log(this.$refs.Input.value);
    }
  }
}
</script>

`this.$refs`를 사용하여 `ref`로 지정한 요소에 접근(참조)할 수 있습니다. 위 예제는 `this.$refs.Input.value`으로 `ref="Input"`인 요소에 접근하여 value 속성 값을 가져와 console에 로그를 남기는 코드입니다.

 

 

속성은 단순히 값 뿐만이 아니라 이벤트도 실행할 수 있습니다. 아래 예제는 <button> 요소에 접근하여 해당 요소의 click 이벤트를 발생시키는 코드입니다.

<button type="button" ref="close" @click="resetForm" class="close" data-dismiss="modal" aria-label="Close">
    <span aria-hidden="true">&times;</span>
</button>
this.$refs.close.click();

 

2) 자식 컴포넌트 접근

 

또한, ref 속성은 DOM 요소뿐만 아니라 `자식 컴포넌트`에도 활용할 수 있습니다.

자식 컴포넌트에 ref를 지정하면 부모 컴포넌트에서 해당 자식 컴포넌트에 접근하여 메서드를 호출하거나 데이터를 가져올 수 있습니다.

 

부모 컴포넌트

<template>
  <div>
    <ChildComponent ref="childRef" />
    <button @click="callChildMethod">자식 메소드 호출</button>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  methods: {
    callChildMethod() {
      this.$refs.childRef.childMethod();
    }
  }
}
</script>

위 예제는 부모 컴포넌트에서 `ref` 속성을 사용하여 자식 컴포넌트에 접근하고, 자식 컴포넌트의 `childMethod()`를 호출하는 코드입니다.

 

자식 컴포넌트: ChildComponent.vue

<template>
  <div>
    <p>자식 컴포넌트입니다.</p>
  </div>
</template>

<script>
export default {
  methods: {
    childMethod() {
      console.log('자식 메소드가 호출되었습니다.');
    }
  }
}
</script>
반응형

'Front-End > Vue.js' 카테고리의 다른 글

Vue.js Vuex store: Vue.js 어플리케이션의 상태 관리를 해결하는 방법  (0) 2023.07.25
Vue.js Vue에서 배열(Array) 변경 감지하기  (0) 2023.07.13
Vue.js computed 속성에 파라미터 전달하기  (0) 2023.07.10
Vue.js 컴포넌트 간의 컨텐츠를 전달하는 <slot> 태그 ( + Named Slot)  (0) 2023.05.19
Vue.js MVVM과 반응형 시스템  (0) 2023.05.15
    여승철
    여승철

    티스토리툴바