AppController = Ember.ArrayController.extend
cat_id: ''
subcat_data: (->
App.Subcategory.find({ parent_id: @get("cat_id") })
).property('cat_id').cacheable()
categorySub: (->
result = Ember.A()
for category in this.toArray()
@set('cat_id', category.id)
@sub = @get("subcat_data")
console.log @sub
result.pushObject({
category: category
subcategories: @sub.toArray()
})
result.toArray()
).property('@subcat_data', '@each')
现在在console.log @sub中显示零对象的内容
DS.AdapterPopulatedRecordArray:ember768> {query = {...},content = [0],store =,more ...}
但是当我签入firebug DOM时,它会显示对象的内容 内容[17,18]
我在这里做错了什么?
答案 0 :(得分:0)
如果您使用的是Ember-data
,则ControllerArray
的内容不会立即填充,当您通过console.log请求其内容时,Ember-data会返回{{1} },一个空对象Promise
,其内容将在未来的某个时刻填充。当您检查DOM中的内容时,内容已经填满。验证这一点的更好方法是仅在填充内容时调用console.log。
RecordArray