次のような計算プロパティのタイプの前に使用しました。
isAnyoneHungry: function () {
var everyone = this.get('everyone'),
anyoneHungry = false;
everyone.forEach(function(person) {
if (person.get('isHungry')) {
anyoneHungry = true;
}
});
return anyoneHungry;
}.property('everyone.@each.isHungry'),
everyone: Ember.A() // an array that will hold person models
配列内の各オブジェクトの 1 つのプロパティに基づいて何かを計算するため。
配列内の各オブジェクトのすべてのプロパティに基づいて計算されたプロパティを作成することは可能ですか? モデルには、、 、... などperson
の多くのブール値プロパティがあり、それらのいずれかが変更されたときにこのプロパティを再計算できるようにしたいとします。しかし、私は怠け者で、次のようにすべてのプロパティを入力したくありません。isHungry
isTired
isCranky
function(){...}.property('everyone.@each.isHungry', 'everyone.@each.isTired', 'everyone.@each.isCranky'.
代わりに、次のようなものが欲しいです:
isAnyoneUnhappy: function () {
var everyone = this.get('everyone'),
isAnyoneUnhappy = false;
everyone.forEach(function (person) {
if (person.get('isHungry') || person.get('isTired') || person.get('isCranky')) {
isAnyoneUnhappy = true;
}
});
return isAnyoneUnhappy;
}.property('everyone.@each.iWantEveryPropertyHere')
これはEmberでまだ可能ですか?