ホームページ >ウェブフロントエンド >jsチュートリアル >Vue.js の機能コンポーネントを理解する

Vue.js の機能コンポーネントを理解する

清浅
清浅オリジナル
2019-04-20 09:53:592689ブラウズ

Vue の関数コンポーネントは、レンダリング コンテキストを受け取り、レンダリングされた HTML を返すコンポーネントであり、インスタンスはありません。機能コンポーネントを作成するには、function: true 属性とレンダリング関数を使用してオブジェクトを作成する必要があります。

機能コンポーネントを使用すると、コンテキストを渡すことで簡潔な方法で単純なコンポーネントを作成できるため、非常にシンプルで非常に人気があります。次に記事で紹介するのは、一定の参考価値のある Vue.js の機能コンポーネントですので、皆様の参考になれば幸いです。

Vue.js の機能コンポーネントを理解する

#【おすすめコース: Vue.js チュートリアル #】

機能コンポーネントとは

#機能コンポーネントは、コンポーネント関連の関数として見ることができます。つまり、レンダリング コンテキストを受け取り、レンダリングされた HTML を返すコンポーネントです。 。実例がないので、これもありません。

機能コンポーネントの作成

機能コンポーネントを作成するには、

function: true 属性とレンダリング関数を使用してオブジェクトを作成する必要があります。 FunctionalButton コンポーネントの例は、次の例で作成されます。

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

レンダリング コンテキスト

contextレンダリング関数で見られるパラメータは、レンダリング コンテキストと呼ばれます。これは、次のプロパティを含むオブジェクトです。

props: プロパティを提供するオブジェクト

children: VNode 子ノードの配列

slots: 関数はスロット オブジェクトを返します。

parent: 親コンポーネントへの参照

listeners: コンポーネントに登録されている v-on リスナーを含むオブジェクト。これは data.on を指す単なるエイリアスです。

injections: inject オプションが使用される場合、オブジェクトには注入される必要があるプロパティが含まれます。

data: 以前のすべてのプロパティを含むオブジェクト

トリガー イベント

機能コンポーネントにはインスタンスがないため、イベント リスナーは context.listeners から取得されます。プロパティの親なので、次のコードを使用してクリック イベントを実装できます。

例: App.vue コンポーネントがあり、FunctionalButton.js をインポートしてそのテンプレートで使用できるとします

<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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。