>웹 프론트엔드 >View.js >Vue 문서의 refs 속성을 사용하여 구성 요소 인스턴스를 얻는 방법에 대한 자세한 설명

Vue 문서의 refs 속성을 사용하여 구성 요소 인스턴스를 얻는 방법에 대한 자세한 설명

PHPz
PHPz원래의
2023-06-20 12:18:032793검색

Vue.js는 프론트엔드 프레임워크로서 최근 몇 년 동안 프론트엔드 개발 분야에서 점점 더 널리 사용되고 있습니다. Vue의 공식 문서에서 유용한 개발 가이드와 팁을 많이 볼 수 있습니다. 그 중 refs 속성은 컴포넌트 인스턴스를 얻는 방법 중 하나입니다. 오늘은 이 속성에 대해 자세히 알아보겠습니다.

refs 속성의 기본 개념

refs는 Vue.js의 속성으로, 컴포넌트에서 DOM 노드나 하위 컴포넌트 인스턴스를 가져오는 데 사용됩니다. 이는 상위 구성 요소에 있는 하위 구성 요소의 DOM 요소, 메서드 및 속성에 액세스하여 하위 구성 요소와 직접 상호 작용하는 데 도움이 됩니다. refs 속성을 통해 props와 이벤트를 통해 데이터와 메소드를 전달하지 않고도 하위 컴포넌트 내부의 데이터와 메소드에 직접 액세스할 수 있습니다.

refs 속성의 사용

refs 속성의 기본 사용법은 다음과 같습니다.

<template>
  <div>
    <!-- 用ref属性绑定DOM节点或子组件 -->
    <input ref="inputBox" type="text"/>
    <ChildComponent ref="childComponent"/>
  </div>
</template>

위 템플릿에서는 DOM 노드에 ref 속성을 추가하거나 하위 구성 요소에 ref 속성을 추가하여 해당 인스턴스를 얻을 수 있습니다. 이 시점에서 상위 구성 요소 또는 Vue 인스턴스의 this.$refs를 사용하여 해당 인스턴스에 액세스할 수 있습니다.

export default {
  mounted() {
    // 访问inputBox实例
    this.$refs.inputBox.focus();

    // 访问childComponent实例
    this.$refs.childComponent.doSomething();
  }
}

마운트된 후크에서는 this.$refs를 통해 하위 구성 요소 인스턴스에 액세스하여 해당 메서드와 속성을 얻을 수 있습니다. 예를 들어 위 코드에서는 this.$refs.inputBox를 통해 입력 상자의 인스턴스에 액세스하고 focus() 메서드를 호출할 수 있으며 마찬가지로 this.$refs.childComponent를 통해 하위 구성 요소의 인스턴스에 액세스할 수 있습니다. doSomething() 메서드를 호출합니다.

또한 refs 속성은 [ref + v-for]를 통해 배열을 만들고 각 참조를 배열의 각 요소에 바인딩할 수도 있습니다.

<template>
  <div>
    <!-- 用ref属性绑定DOM节点或子组件 -->
    <div v-for="i in 5" :key="i" :ref="'item'+i">{{ i }}</div>
  </div>
</template>

위 템플릿에서는 v-for 명령어를 사용하여 배열을 순회하며 각 요소는 숫자를 생성합니다. 그런 다음 ref 속성에서 이 숫자를 사용하여 배열을 만들고 각 요소에 개별적으로 바인딩할 수 있습니다.

export default {
  mounted() {
    // 访问Ref数组中的元素
    console.log(this.$refs.item1.innerHTML); // 1
    console.log(this.$refs.item2.innerHTML); // 2
    console.log(this.$refs.item3.innerHTML); // 3
    console.log(this.$refs.item4.innerHTML); // 4
    console.log(this.$refs.item5.innerHTML); // 5
  }
}

위 코드를 사용하면 각 요소의 innerHTML 속성에 액세스하여 1, 2, 3, 4, 5를 출력할 수 있습니다.

요약

refs 속성은 Vue.js에서 구성 요소 인스턴스를 얻는 중요한 방법입니다. 이를 통해 하위 구성 요소의 DOM 노드, 메서드 및 속성에 더 편리하게 액세스할 수 있습니다. 간단한 웹 페이지를 개발하든 복잡한 웹 애플리케이션을 개발하든 관계없이 refs 속성을 사용하여 코드를 단순화하고 개발 효율성을 향상시킬 수 있습니다.

refs 속성은 하위 구성 요소나 요소에 직접 액세스해야 하는 경우에만 사용해야 한다는 점에 유의할 가치가 있습니다. 두 구성 요소 간의 통신을 설정하려면 props와 이벤트를 사용하는 것이 더 적합합니다.

위 내용은 Vue 문서의 refs 속성을 사용하여 구성 요소 인스턴스를 얻는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.