有关如何优化此绑定的任何建议?它永远不会被设置为,但我不确定如何将其转换为oneWay绑定。它的作用是跟踪艺术作品中使用的所有颜色。颜色可以来自文本或图像(图像中的颜色是在服务器端检测到的,但这会同时发生并且不会影响此属性的时间)。
coloursUsed: function() {
var colours = new Ember.Set();
var arts = [this.get('frontArt'), this.get('backArt')];
arts.forEach(function(art) {
if(Ember.isNone(art)){
return;
}
if(! Ember.isEmpty(art.get('textArts'))) {
colours.addEach(art.get('textArts').mapBy('colour'));
colours.addEach(art.get('textArts').mapBy('strokeColour'));
}
if(! Ember.isEmpty(art.get('imageArts'))) {
var img_colours = art.get('imageArts').mapBy('colours');
img_colours.forEach(function(img_colour_array){
colours.addEach(img_colour_array);
})
}
});
return colours.toArray();
}.property('frontArt.textArts.@each.colour', 'frontArt.textArts.@each.strokeColour',
'backArt.textArts.@each.colour', 'backArt.textArts.@each.strokeColour',
'frontArt.imageArts.@each.colours', 'backArt.imageArts.@each.colours'),