Ember.js ember js DS.AdapterPopulatedRecordArray内容
现在在console.log@sub中显示零对象的内容 DS.AdapterPopulatedRecordArray:ember768>{query={…},content=[0],store=,more…} 但当我签入firebug DOM时,它会显示对象的内容 内容[17,18]Ember.js ember js DS.AdapterPopulatedRecordArray内容,ember.js,Ember.js,现在在console.log@sub中显示零对象的内容 DS.AdapterPopulatedRecordArray:ember768>{query={…},content=[0],store=,more…} 但当我签入firebug DOM时,它会显示对象的内容 内容[17,18] 这里我做错了什么?如果您使用的是余烬数据,控制器阵列的内容没有立即填充,当您通过console.log请求其内容时,余烬数据返回一个承诺,一个空对象,RecordArray,其内容将在将来某个时候填充。当您检查DO
这里我做错了什么?如果您使用的是
余烬数据
,控制器阵列
的内容没有立即填充,当您通过console.log请求其内容时,余烬数据返回一个承诺
,一个空对象,RecordArray
,其内容将在将来某个时候填充。当您检查DOM中的内容时,内容已经被填充。验证这一点的更好方法是仅在内容已填充时调用console.log
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')
contentDidChange: function() {
console.info(this.get('content'));
}.observes('content.isLoaded')