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

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

Linda Hamilton
풀어 주다: 2024-10-28 21:04:30
원래의
667명이 탐색했습니다.

How to Update Parent Data from Child Components in Vue.js Using v-model?

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

Vue.js에서는 상위 구성 요소와 하위 구성 요소 간의 데이터 흐름을 처리하는 것이 중요합니다. 효과적으로. 이 문서에서는 하위 구성 요소 내의 입력 필드에서 상위 데이터를 업데이트하려는 시나리오에 대해 설명합니다.

문제:

Vue.js 2.0 이상에서는 양방향 바인딩은 더 이상 사용되지 않습니다. props를 사용하여 상위 항목에서 하위 항목으로 데이터를 전달할 때 직접적인 prop 변형은 콘솔 경고로 이어질 수 있으므로 권장되지 않습니다.

해결책:

상위 항목을 업데이트하려면 데이터를 사용하는 경우 v-model과 함께 이벤트 중심 아키텍처 및 사용자 정의 구성 요소를 사용할 수 있습니다. V-model은 이벤트를 사용하여 상위와 하위 간에 통신하는 양방향 바인딩을 위한 구문을 제공합니다.

구현:

다음과 같은 템플릿을 사용하여 하위 구성 요소를 생성합니다. 입력 필드 포함:

<code class="html"><template id="child">
  <input type="text" v-bind:value="value" v-on:input="updateValue($event.target.value)">
</template></code>
로그인 후 복사

하위 구성 요소의 스크립트에서 업데이트된 값으로 '입력' 이벤트를 내보내는 'value' prop과 'updateValue' 메서드를 추가합니다.

<code class="javascript">Vue.component('child', {
  template: '#child',

  props: ['value'],

  methods: {
    updateValue: function (value) {
      this.$emit('input', value);
    }
  }
});</code>
로그인 후 복사

상위 뷰에서 상위 데이터로 Vue 인스턴스를 생성하고 v-model과 함께 하위 구성 요소를 사용합니다.

<code class="html"><div id="app">
  <p>Parent value: {{ parentValue }}</p>
  <child v-model="parentValue"></child>
</div></code>
로그인 후 복사

하위 구성 요소의 입력 필드 값이 변경되면 'updateValue' 메소드가 호출되고 업데이트된 값이 '입력' 이벤트로 방출됩니다. 상위 Vue 인스턴스는 발생된 이벤트를 수신하고 그에 따라 'parentValue'를 업데이트합니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿