我已经设置了一个 API,并尝试使用 Ember.js DS.RESTAdapter 来获取和遍历表中的所有记录。目前它正在部分工作,但我没有得到所有记录,而是只得到一个(最后一条记录是具体的)。因此,使用下面的代码,返回的模型长度为 1,列出的所有内容都是 Gale Sayers。JSON有什么问题吗?这是 API 返回的 JSON:
{
"users":[
{
"id":{"$oid":"52f94fc6477261d1a9110000"},
"first_name":"Jim",
"last_name":"Browne",
"email":"user186248@example.com"
},
{
"id":{"$oid":"52f4088c477261b72a000000"},
"first_name":"Gale",
"last_name":"Sayers",
"email":"user186248@example.com"
}
]
}
作为参考,这是我的 Ember.js 代码的相关部分:
window.App = Ember.Application.create({
rootElement: '#ember-app',
Resolver: Ember.DefaultResolver.extend({
resolveTemplate: function(parsedName) {
parsedName.fullNameWithoutType = "app/" + parsedName.fullNameWithoutType;
return this._super(parsedName);
}
})
});
App.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: 'api'
});
App.Store = DS.Store.extend({
adapter: App.ApplicationAdapter
});
App.User = DS.Model.extend({
first_name: DS.attr('string'),
last_name: DS.attr('string'),
email: DS.attr('string')
});
App.Router.map(function() {
});
App.ApplicationRoute = Ember.Route.extend({
});
App.IndexRoute = Ember.Route.extend({
model: function() {
return this.store.find('user');
}
});
最后是模板文件:
应用程序.handlebars
<b>Ember is working!</b>
{{outlet}}
index.handlebars
Length: {{model.length}}
<ul>
{{#each model}}
<li>{{first_name}} {{last_name}}</li>
{{/each}}
</ul>