Vue.jsのcomputed機能を説明する

Vue.js

Vue.js 

説明

Vue.jsにおけるcomputed(算出プロパティ)は、データプロパティを基に動的に計算されるプロパティです。computedプロパティは、テンプレート内でデータの値に基づいて動的な計算や加工を行い、その結果を返します。

computedプロパティを使用することで、テンプレート内で直接式を記述する代わりに、データの値をリアクティブに監視し、関連するプロパティを自動的に再計算できます。これにより、簡潔で効率的なコードを書くことができます。

computedプロパティの定義には、Vueコンポーネントのcomputedオプションを使用します。

export default {
  data() {
    return {
      items: [1, 2, 3, 4, 5]
    };
  },
  computed: {
    // itemsの要素数を計算するcomputedプロパティ
    itemCount() {
      return this.items.length;
    },
    // itemsの合計値を計算するcomputedプロパティ
    total() {
      return this.items.reduce((sum, item) => sum + item, 0);
    }
  }
};

上記の例では、itemCounttotalという2つのcomputedプロパティが定義されています。itemCountitemsの要素数を返し、totalitemsの合計値を返します。これらのcomputedプロパティは、itemsの値が変更されるたびに自動的に再計算されます。

テンプレート内でcomputedプロパティを使用するには、単純にcomputedプロパティの名前をデータバインディングのように使用します。Vueは内部で依存関係を追跡し、computedプロパティが必要なときにのみ再計算します。

<template>
  <div>
    <p>アイテム数: {{ itemCount }}</p>
    <p>合計: {{ total }}</p>
  </div>
</template>

上記の例では、itemCounttotalというcomputedプロパティがテンプレート内で使用されています。これにより、itemsの変更に応じて自動的にアイテム数と合計が更新されます。

computedプロパティは、データの加工や集計などの計算に便利であり、コードの可読性と保守性を向上させるのに役立ちます。

コメント

タイトルとURLをコピーしました