Heim  >  Artikel  >  Web-Frontend  >  Funktionskomponenten in Vue.js verstehen

Funktionskomponenten in Vue.js verstehen

清浅
清浅Original
2019-04-20 09:53:592572Durchsuche

Eine funktionale Komponente in Vue ist eine Komponente, die einen Rendering-Kontext annimmt und gerendertes HTML zurückgibt. Sie hat keine Instanzen. Um funktionale Komponenten zu erstellen, müssen Sie das Attribut „functional: true“ und die Rendering-Funktion verwenden, um das Objekt zu erstellen.

Mit funktionalen Komponenten können Sie einfache Komponenten auf prägnante Weise erstellen, indem Sie den Kontext übergeben, was sie sehr einfach und sehr beliebt macht Als nächstes werde ich in dem Artikel die funktionalen Komponenten in Vue.js vorstellen, die einen gewissen Referenzwert haben und ich hoffe, dass sie für alle hilfreich sind.

Funktionskomponenten in Vue.js verstehen

[Empfohlene Kurse: Vue.js Tutorial]

Was ist eine funktionale Komponente?

Eine funktionale Komponente kann als komponentenbezogene Funktion angesehen werden, das heißt, sie ist eine Komponente, die einen Rendering-Kontext annimmt und gerendertes HTML zurückgibt . Es gibt keine Instanz, also gibt es dies nicht.

Erstellen einer Funktionskomponente

Um eine Funktionskomponente zu erstellen, müssen Sie das Attribut functional: true und die Rendering-Funktion verwenden, um das Objekt zu erstellen. Ein Beispiel für eine FunctionalButton-Komponente wird im folgenden Beispiel erstellt:

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

Rendering-Kontext

context Der in der Render-Funktion angezeigte Parameter wird als Rendering-Kontext bezeichnet. Es handelt sich um ein Objekt, das die folgenden Eigenschaften enthält:

props: Objekt, das Requisiten bereitstellt

children: Array von untergeordneten VNode-Knoten

slots: Funktion gibt Slot-Objekt zurück

parent: ein Verweis auf die übergeordnete Komponente

listeners: ein Objekt, das die auf der Komponente registrierten v-on-Listener enthält. Dies ist nur ein Alias, der auf data.on verweist.

Injektionen: Wenn die Option „Injizieren“ verwendet wird, enthält das Objekt Eigenschaften, die injiziert werden sollen.

Daten: Objekt, das alle vorherigen Eigenschaften enthält

Triggerereignis

Da die Funktionskomponente keine Instanz hat, stammt der Ereignis-Listener aus den context.listeners Property Parent, sodass der folgende Code zum Implementieren des Klickereignisses verwendet werden kann

Beispiel: Angenommen, es gibt eine App.vue-Komponente, in die FunctionalButton.js importiert werden kann, um sie in ihrer Vorlage zu verwenden

<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
    );
  }};

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für alle hilfreich sein.

Das obige ist der detaillierte Inhalt vonFunktionskomponenten in Vue.js verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn