>  기사  >  웹 프론트엔드  >  VUE3 기본 튜토리얼: 부모-자식 컴포넌트 통신의 여러 방법

VUE3 기본 튜토리얼: 부모-자식 컴포넌트 통신의 여러 방법

WBOY
WBOY원래의
2023-06-15 22:57:225145검색

최신 프런트엔드 프레임워크의 지속적인 개발로 인해 점점 더 많은 기업과 개발자가 Vue를 사용하여 사용자 인터페이스를 구축하기로 선택하고 있습니다. Vue.js는 고품질 단일 페이지 애플리케이션을 신속하게 구축할 수 있는 유연한 개발 방법을 제공하는 사용자 인터페이스 구축을 위한 진보적인 프레임워크입니다.

Vue.js에서 컴포넌트는 사용자 인터페이스를 구축하는 핵심 개념입니다. Vue.js 구성 요소는 수명 주기가 있는 독립적이고 재사용 가능한 코드 모듈입니다. 구성 요소는 통신하고 상호 작용해야 하는 다른 많은 구성 요소로 구성될 수 있습니다. 이 기사에서는 Vue.js의 상위 구성요소와 하위 구성요소 간에 통신하는 여러 가지 방법을 소개합니다.

  1. Props 속성 전달

Props는 상위 구성 요소에서 하위 구성 요소로 데이터를 전달하는 방법입니다. Vue.js에서 상위 구성 요소는 속성을 통해 하위 구성 요소에 데이터를 전달할 수 있습니다. 하위 구성 요소는 이러한 속성을 수신하고 이러한 값을 사용하여 자체 템플릿을 렌더링할 수 있습니다.

상위 구성 요소에서는 v-bind 명령을 사용하여 하위 구성 요소의 props 속성에 값을 바인딩할 수 있습니다.

<template>
  <div>
    <child-component :message="'Hello world'"></child-component>
  </div>
</template>

하위 구성 요소에서는 props 속성을 통해 상위 구성 요소가 전달한 데이터를 받을 수 있습니다. :

Vue.component('child-component', {
  props: ['message'],
  template: '<div>{{ message }}</div>'
})

props 속성을 통해 상위 컴포넌트와 하위 컴포넌트 간의 데이터 흐름을 명확하게 표현할 수 있습니다. 이 방법은 Vue.js의 상위 구성 요소와 하위 구성 요소 간의 매우 일반적인 통신 방법입니다.

  1. $emit 사용자 정의 이벤트

Vue.js에서 각 Vue 인스턴스에는 이벤트 버스가 있으며 $emit를 사용하여 사용자 정의 이벤트를 트리거할 수 있습니다. 상위 구성 요소는 사용자 정의 이벤트를 정의하고 $emit를 사용하여 하위 구성 요소에서 이러한 이벤트를 트리거할 수 있습니다. 하위 구성 요소는 $on을 통해 이러한 이벤트를 수신하고 해당 작업을 수행할 수 있습니다.

상위 구성 요소에서 $emit를 사용하여 사용자 정의 이벤트를 정의할 수 있습니다.

new Vue({
  el: '#app',
  methods: {
    showMessage() {
      this.$emit('message');
    }
  }
})

하위 구성 요소에서 $on을 사용하여 다음 사용자 정의 이벤트를 수신할 수 있습니다.

Vue.component('child-component', {
  template: '<div v-on:message="showMessage">Child message</div>',
  methods: {
    showMessage() {
      // 处理点击事件
    }
  }
})

$emit 사용자 정의 이벤트를 통해 하위 구성 요소 통신 목적으로 상위 구성 요소에 메시지를 보낼 수 있습니다.

  1. $parent/$children

Vue.js에서 모든 구성 요소에는 $parent 속성과 $children 속성이 있습니다. 이 두 가지 속성을 통해 구성 요소는 상위 및 하위 구성 요소에 직접 액세스할 수 있습니다. 이 방법은 더 간단하지만 어떤 사람들은 이 방법이 우아하지 않다고 생각합니다.

  1. $refs 사용

Vue.js에서는 모든 구성 요소에 $refs 속성이 있습니다. 등록된 모든 하위 구성 요소는 $refs를 사용하여 액세스할 수 있습니다. 이 특성을 사용하면 상위 구성 요소가 하위 구성 요소에 직접 액세스하고 해당 메서드와 속성을 직접 호출할 수 있습니다.

상위 구성 요소에서 $refs를 사용하여 하위 구성 요소에 액세스하고 해당 메서드를 호출할 수 있습니다.

new Vue({
  el: "#app",
  methods: {
    handleClick() {
      this.$refs.childComponent.handleClick();
    }
  },
  components: {
    childComponent
  }
})

하위 구성 요소에서 handlerClick 메서드를 정의할 수 있습니다.

Vue.component('child-component', {
  methods: {
    handleClick() {
      // 处理点击事件
    }
  }
})

$refs를 사용하면 상위 구성 요소가 자식 컴포넌트의 메소드와 프로퍼티는 $refs 값이 정의되지 않을 수 있으므로 사용 시 주의가 필요합니다.

요약

Vue.js에서 컴포넌트는 사용자 인터페이스를 구축하는 핵심 개념입니다. 상위 컴포넌트와 하위 컴포넌트 간의 통신을 위해 Vue.js는 Props, 사용자 정의 이벤트, $parent/$children, $refs 등과 같은 다양한 방법을 제공합니다. 실제 개발에서는 특정 상황에 따라 컴포넌트 간의 통신을 구현하기 위한 적절한 방법을 선택해야 합니다. 동시에 이러한 방법을 사용하여 보다 유연하고 재사용 가능한 구성 요소를 구축하여 개발 효율성과 사용자 경험을 향상시킬 수도 있습니다.

위 내용은 VUE3 기본 튜토리얼: 부모-자식 컴포넌트 통신의 여러 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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