【发布时间】:2016-03-01 19:53:14
【问题描述】:
我在 routes/index.js 中有这段代码:
model() {
return Ember.RSVP.hash({
maps: ajax({
url: '*********************',
type: 'get'
}).then(function(data) {
console.log('maps: ', data);
return data;
})
});
}
返回 json 数据。现在我想使用 ember-data 和模型,我在 models/map.js 中有这段代码:
import DS from "ember-data";
export default DS.Model.extend({
gmap_lat_center: DS.attr('string'),
gmap_long_center: DS.attr('string'),
hotspots: DS.attr('array'),
id: DS.attr('string'),
image: DS.attr('array'),
image_highres: DS.attr('string'),
image_lowres: DS.attr('string'),
map_background: DS.attr('string'),
ne_lat: DS.attr('string'),
ne_long: DS.attr('string'),
order: DS.attr('string'),
sw_lat: DS.attr('string'),
sw_long: DS.attr('string'),
timestmap: DS.attr('string'),
title: DS.attr('string'),
track_geojson: DS.attr('string'),
type: DS.attr('string'),
zoom: DS.attr('string')
});
现在应该是 ajax 和 ember-data 的工作流程?我需要将 ajax 调用放在哪里以及将其存储在模型中的什么位置?
编辑: 我设法将它们推送到商店,但是当我尝试访问它时:
this.store.pushPayload( normalizedData );;
console.log( "maps: ", normalizedData );
console.log(this.store.findAll('map'));
return normalizedData;
我明白了:
http://localhost:4200/maps 404 (Not Found)
我想我需要重写适配器中的 findAll 方法,但是这个方法会是什么样子?
【问题讨论】:
标签: ember.js ember-data