>웹 프론트엔드 >JS 튜토리얼 >Vue.js의 하위 구성 요소에서 상위 데이터를 업데이트하는 방법은 무엇입니까?

Vue.js의 하위 구성 요소에서 상위 데이터를 업데이트하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-28 07:15:02207검색

How to Update Parent Data from a Child Component in Vue.js?

Vue.js의 하위 구성 요소에서 상위 데이터 업데이트

Vue.js에서 양방향 바인딩을 사용하면 하위 구성 요소가 상위 구성 요소의 속성입니다. 그러나 Vue 2.0이 출시되면서 이벤트 중심 아키텍처를 선호하는 양방향 바인딩이 더 이상 사용되지 않습니다.

해결책: 이벤트 중심 통신

In 이 접근 방식에서는 하위 구성 요소가 업데이트된 값으로 이벤트를 발생시킵니다. 그러면 상위 구성 요소가 이러한 이벤트를 처리하고 그에 따라 데이터를 수정합니다. 예를 들어, 텍스트 입력을 사용하여 사용자 정의 하위 구성 요소를 만들어 보겠습니다.

<code class="javascript">Vue.component('child', {
  template: '#child',
  props: ['value'],
  methods: {
    updateValue(value) {
      this.$emit('input', value);
    }
  }
});</code>

상위 값 업데이트

하위 구성 요소에서는 updateValue 메서드가 항상 호출됩니다. 입력값이 변경됩니다. 이 메소드는 업데이트된 값을 인수로 전달하여 '입력' 이벤트를 발생시킵니다.

상위 Vue 인스턴스에서 이벤트 수신

상위 Vue 인스턴스에서:

<code class="javascript">new Vue({
  el: '#app',
  data: {
    parentValue: 'hello'
  },
  methods: {
    handleInput(value) {
      this.parentValue = value;
    }
  }
});</code>

v-model을 사용한 바인딩

Vue.js는 v-model이라는 양방향 바인딩을 위한 편리한 약어를 제공합니다. 양식 요소에서 v-model을 사용하면 해당 요소가 상위 구성 요소의 지정된 속성에 자동으로 바인딩됩니다. 아래 코드는 이를 보여줍니다.

<code class="html"><child v-model="parentValue"></child></code>

이 예에서 하위 구성 요소의 value 속성은 상위 구성 요소의 parentValue 속성에 바인딩됩니다. 하위 구성 요소의 입력을 변경하면 상위 구성 요소의 parentValue가 자동으로 업데이트됩니다.

위 내용은 Vue.js의 하위 구성 요소에서 상위 데이터를 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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