我不知道为什么,但我在findAll电话中收到了这个奇怪的课程:
git add .
这是我的所有代码,从服务器到客户端:
服务器中的EventModel:
__ember1443850972614: "ember455"
__ember_meta__: Object
__nextSuper: undefined
content: (...)
get content: GETTER_FUNCTION()
set content: SETTER_FUNCTION(value)
isFulfilled: true
__proto__: Class
我的应用:
var EventSchema = mongoose.model('EventSchema', {
type: {
type: String,
"default": 'event'
},
attributes: {
date: Date,
description: String,
hiw: Object,
hour: Date,
meeting: String,
men: Number,
name: String,
title: String,
women: Number,
created_at: Date,
is_active: {
type: Boolean,
"default": false
},
updated_at: Date
}
});
我的REST适配器和序列化器:
window.SiteApp = Ember.Application.create({
LOG_TRANSITIONS: true
});
我的路线:
SiteApp.ApplicationSerializer = DS.RESTSerializer.extend({
primaryKey: '_id'
});
SiteApp.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: 'api'
});
我的活动路线:
SiteApp.Router.map(function() {
this.route('events', {
path: '/'
});
});
我的活动模型:
SiteApp.EventsRoute = Ember.Route.extend({
model: function(params) {
return this.store.findAll('events');
}
});
JSON(不完整):
SiteApp.Event = DS.Model.extend({
type: DS.attr('string'),
attributes: {
date: DS.attr('date'),
description: DS.attr('string'),
hiw: DS.attr(),
hour: DS.attr('date'),
meeting: DS.attr('string'),
men: DS.attr('number'),
name: DS.attr('string'),
title: DS.attr('string'),
women: DS.attr('number'),
created_at: DS.attr('date'),
is_active: DS.attr('boolean'),
updated_at: DS.attr('date')
}
});
以下所有代码:http://codepen.io/anon/pen/yYMzQo
拜托,我很沮丧,我至少坚持了5天,有人给我一个灯!!
答案 0 :(得分:1)
DS.store来存储数据,并使用它进行操作。它从服务器或其他存储加载数据,具体取决于适配器,创建DS.Model的实例并将它们存储在内存中。由于可以使用不同类型的存储,因此无法返回JSON。它返回一个包含模型实例的对象。您需要使用Ember.Array的方法来获取数据。这是一个小例子:
SiteApp.EventsRoute = Ember.Route.extend({
model: function(params) {
return this.store.findAll('events').then(function(events){
events.forEach(function (item, index, enumerable) {
console.log(item.get('attributes.title'));
});
});
}
});
如果您只想向用户显示数据,只需在模板中使用{{#each}}块:
{{#each model as |event|}}
<div>{{event.attributes.title}}</div>
{{/each}}