ホームページ  >  記事  >  ウェブフロントエンド  >  Vue ドキュメント内のコンポーネントによって渡されるさまざまなタイプのフィルター関数の例

Vue ドキュメント内のコンポーネントによって渡されるさまざまなタイプのフィルター関数の例

王林
王林オリジナル
2023-06-20 21:42:451037ブラウズ

フロントエンド開発者として、私たちは多くの場合、Vue.js を使用してページを構築する必要があります。 Vue.js では、コンポーネントは非常に重要な部分です。コンポーネント間で値を渡すことは非常に一般的な要件であり、値を渡す方法は数多くあります。この記事では、Vue ドキュメントでのコンポーネント値の転送と、さまざまな種類のフィルター関数の使用に焦点を当てます。

コンポーネント内で値を渡す

Vue.js では、コンポーネント間で値を渡す方法がいくつかあります:

  1. props と Emit

props を使用して、親コンポーネントから子コンポーネントにデータを渡します。 Emit を使用すると、子コンポーネントのデータを親コンポーネントに渡すことができます。この方法は、コンポーネント間の双方向通信によく使用されます。このメソッドは非常に便利で、props で渡す必要があるデータを定義し、サブコンポーネントの $emit メソッドを使用してイベントをトリガーするだけです。

  1. provide & inject

provide & injectはVue.js2.2.0版で追加されたAPIです。 Provide を使用して渡す必要のあるデータを定義し、inject を使用してこのデータをコンポーネントに注入します。このメソッドは、レベル間でデータを渡すためによく使用されます。

  1. $parent & $children

Vue.js のコンポーネント ツリーは、深さ優先のトラバーサル プロセスです。 $parent を使用して親コンポーネントのインスタンスを取得し、$children を使用して子コンポーネントのインスタンスを取得します。この方法の欠点は、柔軟性が十分ではなく、props & Emit や Provide & Inject ほど便利ではないことです。

さまざまな種類のフィルター関数

データをフィルターまたは変換する必要がある場合は、Vue.js のフィルター関数を使用できます。 Vue.js は、次のタイプのフィルター関数を提供します。

  1. グローバル フィルター関数

グローバル フィルター関数は、の Vue.filter() メソッドを通じて定義されます。一度定義すると、任意のコンポーネントで使用できます。グローバル フィルター関数の利点は、シンプルであり、一度定義した後は複数のコンポーネントで使用できることです。ただし、グローバル フィルター関数は複数回インスタンス化されるため、フィルターされたデータが大量にある場合はパフォーマンスの低下につながります。

  1. ローカル フィルター関数

ローカル フィルター関数はコンポーネントで定義されます。このコンポーネント内でのみ使用できます。このアプローチの利点は、コンポーネント内でインスタンス化する必要があるのは 1 回だけであるため、パフォーマンスが向上することです。欠点は、非常に制限があり、コンポーネント内でのみ使用できることです。

  1. 純粋関数フィルター関数

純粋関数フィルター関数とは、特定のパラメーターを入力し、外部状態の影響を受けない特定の結果を出力することを指します。この方法はより使いやすく、いくつかの副作用を回避できます。ただし、純粋関数フィルター関数は元のデータを変更できないことに注意してください。

フィルタ関数の例

例を通してフィルタ関数の使用法を見てみましょう。この例では、コンポーネントを定義し、このコンポーネントに配列を渡し、コンポーネント内のフィルター関数を使用して配列をフィルター処理します。

<template>
  <div>
    <ul>
      <li v-for="item in filteredData">{{ item }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  props: {
    data: {
      type: Array,
      default: () => []
    }
  },
  computed: {
    filteredData() {
      return this.data.filter(item => {
        return item % 2 === 0
      }).map(item => {
        return item * 2
      })
    }
  }
};
</script>

このコンポーネントは配列データを渡し、フィルター関数を通じて配列をフィルター処理します。計算された属性では、JavaScript のフィルターおよびマップ メソッドを使用して配列内の偶数をフィルターし、フィルターされたデータを 2 で乗算しました。最後に、フィルタリングされたデータを表示のためにコンポーネントに返します。

概要

Vue.js にはコンポーネント値の転送メソッドとフィルター関数が豊富に用意されており、ニーズに応じて開発方法を選択できます。利用にあたっては、パフォーマンス、柔軟性、コードの再利用性などを総合的に考慮して、最適な開発方法を決定する必要があります。

以上がVue ドキュメント内のコンポーネントによって渡されるさまざまなタイプのフィルター関数の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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