我有3種不同的燈具型號,如下所示。EmberJS - hasMany燈具型號空值
var Room = DS.Model.extend({
title: DS.attr('string'),
categories: DS.hasMany('Category', { async: true }),
isSelected: DS.attr('boolean')
});
var Category = DS.Model.extend({
title: DS.attr('string'),
room: DS.belongsTo('Room', {async: true }),
materials: DS.hasMany('Material', { async: true }),
isSelected: DS.attr('boolean')
});
var Material = DS.Model.extend({
title: DS.attr('string'),
category: DS.belongsTo('Category', {async: true}),
isSelected: DS.attr('boolean')
});
我發現當我嘗試查看Materials模型內部的內容時,它是空白的。在我的控制器我做這個揭露材料:
currentMaterials: function() {
var room = this.filterBy('isSelected', true).get('firstObject');
var categories = room.get('categories');
var selectedCategory = categories.get('firstObject');
var material = selectedCategory.get('materials');
return material;
}.property('@each.isSelected')
然而,當我嘗試訪問currentMaterials值爲null。如果我第一次使用{{#each}循環訪問房間/類別,我只能訪問它的值。奇怪的是,一旦我做{{#each}},我可以訪問currentMaterials中的值。
有沒有人知道爲什麼?
出色的說明來描述非常複雜的配置。謝謝你的幫助Jakub – netvampire