Vue 구성요소가 prop 속성을 전달하고 수신하는 방법

WBOY
풀어 주다: 2023-10-15 09:46:04
원래의
913명이 탐색했습니다.

Vue 구성요소가 prop 속성을 전달하고 수신하는 방법

Vue 구성 요소가 prop 속성을 전달하고 수신하려면 특정 코드 예제가 필요합니다.

Vue는 프런트 엔드 개발에 널리 사용되는 인기 있는 JavaScript 프레임워크입니다. Vue에서 컴포넌트는 애플리케이션을 구축하기 위한 기본 단위입니다. 구성 요소는 속성(props)을 전달하고 속성(props)을 받을 수 있으므로 구성 요소 간의 데이터 상호 작용이 가능합니다. 이 글에서는 Vue 구성 요소가 prop 속성을 전달하고 수신하는 방법을 자세히 소개하고 특정 코드 예제를 제공합니다.

prop 속성 전달

Vue에서는 구성 요소 태그에 v-bind 지시어를 사용하여 prop 속성을 전달할 수 있습니다. v-bind 지시문은 하나 이상의 속성을 표현식에 동적으로 바인딩하는 데 사용됩니다. 다음은 문자열 유형 prop 속성을 전달하는 방법을 보여주는 예입니다.

<template>
  <div>
    <child-component :message="parentMessage"></child-component>
  </div>
</template>

<script>
import ChildComponent from "./ChildComponent.vue";

export default {
  data() {
    return {
      parentMessage: "Hello from parent"
    };
  },
  components: {
    ChildComponent
  }
};
</script>
로그인 후 복사

위 코드에서 상위 구성 요소는 message라는 prop 속성을 하위 구성 요소에 전달하고 parentMessage를 바인딩합니다. 상위 구성 요소의 데이터입니다. message的prop属性,并绑定了父组件中的parentMessage数据。

在子组件中,可以通过在props选项中声明属性来接收传递的prop属性。以下是子组件的代码示例:

<template>
  <div>
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  props: {
    message: {
      type: String,
      required: true
    }
  }
};
</script>
로그인 후 복사
로그인 후 복사

在上述代码中,props选项中声明了一个名为message的属性,并指定了它的类型为字符串。required: true表示这个属性是必需的,如果父组件没有传递这个属性,将会在控制台输出一个警告。

接收prop属性

一旦在子组件中声明了prop属性,就可以在子组件的模板中使用它。以下是一个例子,展示了如何在子组件中接收和使用prop属性:

<template>
  <div>
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  props: {
    message: {
      type: String,
      required: true
    }
  }
};
</script>
로그인 후 복사
로그인 후 복사

在上述代码中,{{ message }}用于在子组件的模板中显示传递的prop属性。子组件将会显示Hello from parent

需要注意的是,一旦声明了prop属性并在子组件中使用,它将被视为只读属性。如果试图在子组件内部修改prop属性的值,Vue会在控制台输出一个警告。

默认值

可以为prop属性设置一个默认值,在父组件不传递这个属性时,将使用默认值。以下是一个例子:

<template>
  <div>
    <child-component></child-component>
  </div>
</template>

<script>
import ChildComponent from "./ChildComponent.vue";

export default {
  components: {
    ChildComponent
  }
};
</script>
로그인 후 복사

在子组件中,可以通过default选项来设置默认值:

<template>
  <div>
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  props: {
    message: {
      type: String,
      default: "Default message"
    }
  }
};
</script>
로그인 후 복사

在上述代码中,如果父组件没有传递message属性,子组件将显示Default message

자식 컴포넌트에서는 props 옵션에 속성을 선언하여 전달된 prop 속성을 받을 수 있습니다. 다음은 하위 구성 요소에 대한 코드 예제입니다.

rrreee

위 코드에서 props 옵션에 message라는 속성이 선언되고 해당 유형이 문자열로 지정됩니다. . required: true는 이 속성이 필수임을 나타냅니다. 상위 구성 요소가 이 속성을 전달하지 않으면 콘솔에 경고가 출력됩니다.

prop 속성 수신🎜🎜prop 속성이 하위 구성 요소에 선언되면 하위 구성 요소의 템플릿에서 사용할 수 있습니다. 다음은 하위 구성 요소에서 prop 속성을 수신하고 사용하는 방법을 보여주는 예입니다. 🎜rrreee🎜 위 코드에서 {{ message }}는 하위 구성 요소의 템플릿에 전달된 prop을 표시하는 데 사용됩니다. 속성. 하위 구성 요소에는 Hello from parent가 표시됩니다. 🎜🎜prop 속성이 선언되고 하위 구성 요소에서 사용되면 읽기 전용 속성으로 간주된다는 점에 유의해야 합니다. 하위 구성 요소 내부의 prop 속성 값을 수정하려고 하면 Vue는 콘솔에 경고를 출력합니다. 🎜🎜기본값🎜🎜prop 속성에 대한 기본값을 설정할 수 있습니다. 상위 구성 요소가 이 속성을 전달하지 않으면 기본값이 사용됩니다. 다음은 그 예입니다. 🎜rrreee🎜하위 구성 요소에서는 default 옵션을 통해 기본값을 설정할 수 있습니다. 🎜rrreee🎜위 코드에서 상위 구성 요소가 메시지를 전달하지 않는 경우 속성, 하위 구성 요소는 기본 메시지를 표시합니다. 🎜🎜요약: 🎜🎜이 문서에서는 Vue 구성 요소가 prop 속성을 전달하고 수신하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. Vue에서는 v-bind 지시어를 사용하여 prop 속성을 자식 컴포넌트에 전달할 수 있으며, 자식 컴포넌트는 props 옵션에서 이러한 속성을 선언하고 사용하여 이를 받을 수 있습니다. 추가적으로 prop 속성에 대한 기본값을 설정할 수 있습니다. 이 지식을 습득하면 개발자는 구성 요소 개발을 보다 효과적으로 수행하고 구성 요소 간의 데이터 상호 작용을 실현할 수 있습니다. 🎜

위 내용은 Vue 구성요소가 prop 속성을 전달하고 수신하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!