我试图通过使用一个控制器,此行来检索已经被加载到存储记录检索店方志看截图)。当我调用它的长度时,结果是“未定义”。在上面的代码行运行之前,我已经使用Chrome Ember检查器确认记录确实已加载到产品中。我想,自从store.all返回一个记录阵列,我可以立即迭代它,而不像承诺。请问我哪里错了?不能使用灰烬数据
Q
不能使用灰烬数据
0
A
回答
0
问题是我试图迭代使用传统的for循环的记录阵列。似乎a)recordarray不能返回长度,2)必须使用forEach循环遍历它,这是我最初做的,但因为forEach不支持break或continue,所以我放弃了。
-1
Ahh promises! :)
你应该能够做到这一点:
var allProducts = this.store.all('product').then(function(products) {
return products;
});
+0
你不需要使用承诺。请参阅:“find返回一个DS.PromiseArray满足DS.RecordArray和*全部直接返回DS.RecordArray。*” – 2015-02-24 16:15:36
1
返回的strange object
是record array
。这非常重要,因此Ember可以为加载的数组设置观察者。我相信这是造成你困惑的原因。请参阅more specifics in the docs:
请注意,DS.RecordArray不是JavaScript数组。 它是一个实现Ember.Enumerable的对象。这是重要的 ,因为,例如,如果您想通过索引检索记录,[] 表示法将不起作用 - 您将不得不使用objectAt(index)。
你将不得不看的机制的文档为DS.RecordArray
,但你应该能够使用forEach
方法在其上进行迭代。请参阅ember array documentation for more details。
相关问题
- 1. 灰烬,数据工作使用JSON-API
- 2. 灰烬数据重写URL
- 3. 数据不显示 - 灰烬JS - REST API
- 4. 灰烬数据`include`使用JSONAPI不加载整个负载
- 5. 灰烬2,使用插件像灰烬,真帮手,而不是仅仅灰烬默认方式表演
- 6. 使用灰烬JS尖锐
- 7. 灰烬ArrayProxy使用init不工作
- 8. 计算性能 - 灰烬
- 9. 灰烬砌体不能正常工作
- 10. 灰烬数据递归hasMany关联
- 11. 灰烬文件 - 只读嵌套数据
- 12. 灰烬数据,没有的hasMany更新
- 13. 灰烬数据嵌套资源URL
- 14. 灰烬数据观察混乱
- 15. 灰烬数据和Handsontable递归
- 16. 无法从灰烬数据扩展DS.Model
- 17. 灰烬数据:观察关联模型
- 18. 灰烬行动
- 19. 在灰烬
- 20. 在灰烬
- 21. 使用灰烬数据的一对多或多对多,如何指定使用烬数据的关系
- 22. 保存使用灰烬数据嵌套模型
- 23. 灰烬数据侧载性能上被丢弃的模型
- 24. 灰烬不能迭代模型数组属性
- 25. 从调用视图灰烬
- 26. 灰烬路由器:如何使用transitionTo
- 27. 使用bindAttr如果ArrayController包含灰烬
- 28. 路线在灰烬
- 29. 扩展灰烬LinkView
- 30. Ember.HTMLBars.compile在灰烬2.7
支持break和继续forEach'很容易实现... http:// emberjs。 jsbin.com/nijebe/1/edit?html,js,console,output – Kalman 2015-02-24 16:53:39
@KalmanHazins谢谢,这非常有帮助 – RunLoop 2015-02-24 16:59:54