我正在尝试提供模板:
<script type="text/x-handlebars" data-template-name="wineries">
{{#each}}
<p>{{name}}</p>
{{/each}}
</script>
使用该路线:(查找评论)
Map.WineriesRoute = Ember.Route.extend({
model: function() {
var store = this.get('store');
return Ember.$.getJSON('/api/wineries').then(function(response) {
if (response.success) {
response.data.forEach(function(winery) {
store.push('winery', winery);
});
}
// what to do here?
return store.findAll('winery');
});
}
});
那个模型:
Map.Winery = DS.Model.extend({
name: DS.attr('string'),
address: DS.attr('string'),
address_2: DS.attr('string'),
city: DS.attr('string'),
stateprovince: DS.attr('string'),
country: DS.attr('string'),
latitude: DS.attr('float'),
longitude: DS.attr('float'),
full_address: function () {
return this.get('address') + ' ' + this.get('city') + ' ' + this.get('stateprovince') + ' ' + this.get('country');
}.observes('address', 'city', 'stateprovince', 'country')
});
我正在开始使用 Ember.js 并阅读了很多文档,但我陷入了困境,因为即使在阅读了文档页面后我也不知道如何处理商店太多。
1) 我应该怎样做才能正确地为商店提供元素? 2) 给商店送完东西后,我应该怎么做才能正确归还元素? 3)还有其他与ember相关的建议吗?
编辑:
看来 ember-data 不是我想要的,ember-model 似乎更适合我的用例。
谢谢!
最佳答案
首先:为什么要“手动”加载和推送服务器数据?
使用 DS.RESTAdapter
或 DS.ActiveModelAdapter
您可以让 ember-data 从 REST API 自动加载您的项目。请参阅here了解更多详情。
然后您可以像这样简化您的路线类:
Map.WineriesRoute = Ember.Route.extend({
model: function() {
return this.store.find('winery');
}
});
关于javascript - 通过获取 JSON 对象并将其推送到存储中来提供 Ember.js 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19395173/