Vue.jsのComputed Properties(算出プロパティ)は、データプロパティに基づいて計算された値を扱うための非常に便利な機能です。通常のメソッドと異なり、依存するデータが変更されたときにのみ再計算されます。これにより、パフォーマンスが向上し、不要な計算が避けられます。
定義方法
算出プロパティは、Vueインスタンスのcomputed
オプション内で定義されます。メソッドのように関数を定義しますが、関数はプロパティとして扱われ、関数から返された値がキャッシュされます。
var vm = new Vue({
el: '#app',
data: {
firstName: 'Taro',
lastName: 'Yamada'
},
computed: {
fullName: function () {
return this.firstName + ' ' + this.lastName;
}
}
});
特徴
- リアクティブな依存関係: 算出プロパティは、それが依存するデータプロパティに基づいて自動的に更新されます。
firstName
またはlastName
が変更されると、fullName
も自動的に更新されます。 - キャッシュ: 算出プロパティの結果は、依存するデータが変更されない限りキャッシュされます。これにより、同じ結果に対して何度も計算することなく、効率的にデータを再利用できます。
ゲッターとセッター
算出プロパティは、デフォルトでゲッター関数のみを持っていますが、必要に応じてセッター関数も定義できます。これにより、算出プロパティに値を代入したときの振る舞いをカスタマイズできます。
var vm = new Vue({
el: '#app',
data: {
firstName: 'Taro',
lastName: 'Yamada'
},
computed: {
fullName: {
get: function () {
return this.firstName + ' ' + this.lastName;
},
set: function (newValue) {
var names = newValue.split(' ');
this.firstName = names[0];
this.lastName = names[1];
}
}
}
});
この例では、fullName
を更新すると、firstName
と lastName
が適切に分割されて更新されます。
算出プロパティは、Vueアプリケーションにおいてデータの再利用性とパフォーマンスを向上させる重要なツールです。
コメント