从模型返回一个数组

时间:2013-07-10 19:50:09

标签: ember.js

我对ember非常陌生,我想要做的是将模型中的数据转换为数组。

目前我在做:

var playerList = App.Player.find().toArray();

但它并没有给我返回一系列玩家,而是返回了一系列物品?例如:

<App.Player:ember311:1>,<App.Player:ember332:2>,<App.Player:ember338:3>,<App.Player:ember344:4>,<App.Player:ember350:5>,<App.Player:ember356:6>,<App.Player:ember362:7>,<App.Player:ember368:8>

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

App.Player.find()会返回一个承诺,因此您应该等到记录完全加载后再对它们进行操作。从你的问题来看,玩家对象的外观并不完全清楚。但是为了得到你的球员,特别是你的球员的属性,你可以做类似的事情:

var playerList = App.Player.find().then(function (result) {
  // This callback will fire when array is loaded
  // and this is the correct way to get to the records
  result.objectAt(0).get('name'); // assuming "name" is a property of your model

  // here you can then loop over your obejcts
  result.forEach(function(item) {
    console.log(item.get('name'));
  });
});

希望它有所帮助。