>웹 프론트엔드 >View.js >Vue 문서의 구성요소 가치 이전 예시 분석

Vue 문서의 구성요소 가치 이전 예시 분석

WBOY
WBOY원래의
2023-06-20 20:26:04676검색

Vue 개발에서 컴포넌트 간의 통신은 매우 중요한 부분입니다. 데이터를 전달하면 구성 요소의 상호 작용이 향상되고 구성 요소 간 코드의 재사용성과 구성성이 향상됩니다. 컴포넌트 간 값을 전송하는 과정에서 Vue의 매우 유연한 특성으로 인해 컴포넌트 간 데이터를 전송하는 방법은 다양합니다.

이 글에서는 Vue의 공통 구성 요소 값 전송 방법을 소개하고 예제를 통해 사용법을 보여줍니다.

  1. Props 속성 값 전송
    Vue에서 상위 구성 요소는 props를 통해 하위 구성 요소에 데이터를 전달할 수 있습니다. 자식 컴포넌트는 props 옵션을 설정하여 부모 컴포넌트가 전달한 값을 받습니다. Props는 기본 유형, 객체 또는 배열을 포함한 모든 유형의 값이 될 수 있습니다.

먼저 parent.vue라는 상위 구성 요소를 생성합니다. 코드는 다음과 같습니다.

<template>
  <div>
    <h2>父组件</h2>
    <p>我是父组件的信息:{{parentInfo}}</p>
    <child :childInfo="parentInfo"></child>
  </div>
</template>

<script>
import Child from './child.vue'
export default {
  name: 'Parent',
  components: {
    Child
  },
  data() {
    return {
      parentInfo: '我是来自父组件的信息'
    }
  }
}
</script>

그런 다음 하위 구성 요소를 생성합니다. 하위 구성 요소의 콘텐츠는 다음과 같습니다.

<template>
  <div>
    <h2>子组件</h2>
    <p>我是子组件的信息: {{childInfo}}</p>
  </div>
</template>

<script>
export default {
  name: 'Child',
  props: ['childInfo']
}
</script>

상위 구성 요소에서 다음을 전달합니다. 상위 구성 요소 데이터를 전달하기 위해 하위 구성 요소의 childInfo 속성에 정보가 전달됩니다. 상위 구성 요소에서는 상위 구성 요소의 데이터를 사용하여 고유한 정보를 렌더링하고 이를 하위 구성 요소에도 전달합니다.

하위 구성 요소에서는 props 옵션을 사용하여 상위 구성 요소로부터 데이터를 받습니다. 하위 구성 요소는 childInfo를 사용하여 자체 정보를 렌더링하며 childInfo 값은 상위 구성 요소에서 가져옵니다.

위 코드에서는 props를 사용하여 데이터를 전달하고 하위 구성 요소의 props를 사용하여 데이터를 수신합니다. 이러한 방식으로 구성요소 간 통신을 통해 구성요소 간 데이터 공유가 가능하며, 구성요소 간의 데이터 상태를 단일 방식으로 관리할 수 있습니다.

  1. $emit 및 $on 메서드는 값을 전달합니다.

Vue에서는 컴포넌트 통신을 위해 Emit 메서드와 On 메서드를 사용할 수도 있습니다. Emit 메소드는 메시지를 보내는 데 사용되고, on 메소드는 메시지를 받는 데 사용됩니다. 이 방법은 일반적으로 상위-하위 관계가 아닌 구성요소 간에 사용됩니다.

먼저 event.vue라는 vue 인스턴스를 생성합니다. 코드는 다음과 같습니다.

<template>
  <div>
    <h2>组件间事件通信示例</h2>
    <child></child>
    <grand-child></grand-child>
  </div>
</template>

<script>
import Vue from 'vue'
import Child from './child.vue'
import GrandChild from './grandChild.vue'

export default {
  name: 'Event',
  components: {
    Child,
    GrandChild
  },
  created() {
    //使用$on监听来自子组件的事件
    this.$on('sendMsg', function(message) {
      console.log('父组件接收到来自子组件的消息:' + message)
    })
  }
}
</script>

상위 컴포넌트에서 $on 메소드를 통해 이벤트 도착을 수신하고, 수신 후 메시지를 인쇄합니다. 이벤트. 특정 용도는 생성된 선언 주기 후크 기능에서 구현됩니다.

그런 다음 하위 구성 요소의 코드 구현을 살펴보겠습니다.

<template>
  <div>
    <h3>子组件</h3>
    <button @click="handleClick">发送消息</button>
  </div>
</template>

<script>
export default {
  name: 'Child',
  methods: {
    handleClick() {
      //使用$emit发送事件
      this.$emit('sendMsg', '我是来自子组件的信息')
    }
  }
}
</script>

이렇게 하면 하위 구성 요소에서 버튼을 클릭하면 $emit 메서드가 트리거되고 이벤트 이름 "sendMsg"가 사용됩니다. "나는 하위 구성요소에서 왔습니다"라는 메시지를 상위 구성요소에 보내기 위해 상위 구성요소는 $on 메소드를 통해 이벤트 도착을 수신하고 해당 작업을 완료할 수 있습니다.

마찬가지로 부모-자식 관계에 있지 않은 두 구성 요소 간의 통신을 구현할 수도 있습니다. 이 방법을 사용하면 구성 요소의 트리거 이벤트와 수신 이벤트가 느슨하게 연결됩니다. Emit 및 On 메서드를 사용하면 보다 유연한 구성 요소 통신이 가능합니다.

요약하자면 구성 요소 간의 통신도 Vue 개발에 있어서 매우 중요한 부분입니다. 다양한 값 전달 방법에 대한 숙련도는 컴포넌트 작성의 기초입니다. 특정 코드 예제를 통해 이 기사에서는 Vue의 두 가지 일반적인 값 전달 방법인 props 값 전달 및 $emit/$on 값 전달을 소개합니다. 이러한 방법은 구성 요소 간의 통신을 효과적으로 조정하고 코드 재사용성과 구성성을 향상시킬 수 있습니다.

위 내용은 Vue 문서의 구성요소 가치 이전 예시 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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