>웹 프론트엔드 >JS 튜토리얼 >Vue.js의 기능적 구성 요소 이해

Vue.js의 기능적 구성 요소 이해

清浅
清浅원래의
2019-04-20 09:53:592691검색

Vue의 기능적 구성 요소는 렌더링 컨텍스트를 취하고 렌더링된 HTML을 반환하는 구성 요소이며 인스턴스가 없습니다. 기능적 구성 요소를 만들려면 기능적: true 속성과 렌더링 기능을 사용하여 객체를 만들어야 합니다.

기능적 구성 요소를 사용하면 간결한 방식으로 컨텍스트를 전달하여 간단한 구성 요소를 만들 수 있으므로 매우 간단하고 인기가 높습니다. 이 기사에서 공유하는 내용은 Vue.js의 기능적 구성 요소이며, 이는 특정 참고 가치가 있어 모든 사람에게 도움이 되기를 바랍니다.

Vue.js의 기능적 구성 요소 이해

【추천 강좌: Vue.js Tutorial

기능적 컴포넌트란 무엇입니까

기능적 컴포넌트는 컴포넌트와 관련된 기능으로 간주할 수 있습니다. 렌더링 컨텍스트를 가져와 HTML을 렌더링하는 구성 요소를 반환한다고 가정해 보겠습니다. 인스턴스가 없으므로 이것이 없습니다.

기능적 구성요소 생성

기능적 구성요소를 생성하려면 functional: true속성과 렌더링 함수를 사용하여 객체를 생성해야 합니다. FunctionalButton 구성 요소의 예는 다음 예에서 생성됩니다.

export default {
  functional: true,
  render(createElement, context) {
    return createElement('button', 'Click me');
  }};

Rendering context

context 렌더링 함수에 표시되는 매개 변수를 렌더링 컨텍스트라고 합니다. 다음 속성을 포함하는 객체입니다:

props: props를 제공하는 객체

children: VNode 하위 노드의 배열

slots: 슬롯 객체를 반환하는 함수

parent: 상위 구성 요소에 대한 참조

청취자: 구성 요소에 등록된 v-on 청취자의 객체를 포함합니다. 이것은 data.on을 가리키는 별칭일 뿐입니다.

injections: 주입 옵션을 사용하면 개체에 주입되어야 하는 속성이 포함됩니다.

data: 이전 속성을 모두 포함하는 개체

이벤트 트리거

기능 구성 요소에는 인스턴스가 없고 이벤트 리스너는 context.listeners 속성의 상위 항목에서 나오므로 다음 코드를 사용하여 구현할 수 있습니다. 클릭 이벤트

예: FunctionalButton.js를 가져와 해당 템플릿에서 사용할 수 있는 App.vue 구성 요소가 있다고 가정합니다

<template>
  <FunctionalButton>
    Click me
  </FunctionalButton></template>
export default {
  functional: true,
  render(createElement, { props, listeners, children }) {
    return createElement(
      &#39;button&#39;,
      {
        attrs: props,
        on: {
          click: listeners.click
        }
      },
      children
    );
  }};

요약: 위는 이 기사의 전체 내용입니다. 도움이 되기를 바랍니다. 모든 사람.

위 내용은 Vue.js의 기능적 구성 요소 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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