ember js DS.AdapterPopulatedRecordArray内容

时间:2013-01-06 09:14:59

标签: ember.js

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]

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Ember-data,则ControllerArray的内容不会立即填充,当您通过console.log请求其内容时,Ember-data会返回{{1} },一个空对象Promise,其内容将在未来的某个时刻填充。当您检查DOM中的内容时,内容已经填满。验证这一点的更好方法是仅在填充内容时调用console.log。

RecordArray