我正在使用 Ember Data 检索包含歌曲的播放列表。代码是:
App.PlaylistRoute = Em.Route.extend({
    model: function(params) {
        var plist = this.store.find('playlist', params.id);
        console.log(plist);
        return [];
    }
})
App.Playlist = DS.Model.extend({
    beats: DS.hasMany('beat')
});
App.Beat = DS.Model.extend({
    name: DS.attr('string') 
});
这段代码的问题是它可以工作并返回数据,但是在一个不起眼的对象中,而不是在模型中。我不能这样做plist.get('beats'),或者plist.get('id')它只是返回undefined。JSON 数据非常简单:
{
    "playlist": {
        "id": "popular-beats",
        "beats": [
            "1",
            "2"
        ]
    },
    "beats": [
        {
            "id": "1",
            "name": "Name"
        },
        {
            "id": "2",
            "name": "Another Name"
        }
    ]
}
当我在控制台中记录数组时,这是返回的对象:
__ember1383247403867: "ember293"
__ember1383247403867_meta: e
_super: undefined
content: s
isFulfilled: true
toString: function (){return e}
__proto__: Object
如果我深入研究,content._data我会找到beats数组 - 所以数据已成功加载,但它没有返回我期望的正确模型。