>  기사  >  웹 프론트엔드  >  vue에서 제공/주입에 대해 알아보기

vue에서 제공/주입에 대해 알아보기

不言
不言원래의
2018-03-31 10:53:301281검색

이 기사는 Vue의 제공/주입에 대한 학습 내용을 공유합니다. 도움이 필요한 친구들에게 도움이 되기를 바랍니다

머리말

최근에 element-ui의 소스 코드를 보고 다음과 같은 속성을 발견했습니다. 그런 다음 확인하세요. the 공식 웹사이트 Provider/inject

provider/inject: 쉽게 말하면 부모 컴포넌트에서는 공급자를 통해 변수를 제공하고, 자식 컴포넌트에서는 inject를 통해 변수를 주입합니다.

하위 구성 요소의 깊이에 관계없이 주입이 호출되는 한 공급자의 데이터를 주입할 수 있다는 점에 유의해야 합니다. 현재 상위 구성 요소의 prop 속성에서만 데이터를 가져오는 것으로 제한되지 않습니다.

우리의 추측을 확인해 보겠습니다.

  • 먼저: 상위 구성 요소를 정의합니다

<template>
  <p>
<childOne></childOne>
  </p>
</template>

<script>
  import childOne from &#39;../components/test/ChildOne&#39;
  export default {
    name: "Parent",
    provide: {
      for: "demo"
    },
    components:{
      childOne
    }
  }

여기서 상위 구성 요소에 이 변수를 제공합니다.

  • 두 번째는 하위 구성 요소를 정의합니다

<template>
  <p>
    {{demo}}
    <childtwo></childtwo>
  </p>
</template>

<script>
  import childtwo from &#39;./ChildTwo&#39;
  export default {
    name: "childOne",
    inject: [&#39;for&#39;],
    data() {
      return {
        demo: this.for
      }
    },
    components: {
      childtwo
    }
  }
</script>
  • 세 번째는 또 다른 하위 구성 요소를 정의합니다

<template>
  <p>
    {{demo}}
  </p>
</template>

<script>
  export default {
    name: "",
    inject: [&#39;for&#39;],
    data() {
      return {
        demo: this.for
      }
    }
  }
</script>

2개의 하위 구성 요소에서는 jnject를 사용하여 제공에서 제공하는 변수를 삽입하고 이를 데이터 속성에 제공합니다.

공식 웹사이트에는 해당 예제가 Vue 2.2.1 이상에서만 작동한다고 명시되어 있습니다. 이 버전 이하에서는 props와 데이터가 초기화된 후에 주입된 값을 얻습니다.

실행 후 결과 확인

vue에서 제공/주입에 대해 알아보기

위의 예에서 볼 수 있듯이 상위 컴포넌트에서 호출되는 한 모든 하위 컴포넌트는 상위 컴포넌트의 라이프사이클 동안 Inject를 호출할 수 있습니다. 상위 구성 요소의 값입니다.

관련 권장 사항:

vue 2 Bus.js를 사용하여 비부모-자식 구성 요소 통신 구현

vue.js 및 webpack을 기반으로 한 채팅 예시

Vue.js 모범 사례(만들기 위한 5가지 팁 당신 Vue.js 마스터)


위 내용은 vue에서 제공/주입에 대해 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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