如果 ember_model.js 包含以下代码,则可以正常工作:(顺便说一句,Ember Model:0.0.11 不是 ember.js 的一部分?为什么我必须在 MVC 框架中将模型包含在单独的 js 文件中?)
App = Ember.Application.create();
App.IndexRoute = Ember.Route.extend({
model: function() {
return App.User.find();
}
});
App.User = Ember.Model.extend({
username: Ember.attr()
});
App.User.adapter = Ember.RESTAdapter.create();
App.User.url = "/sf2/web/app_dev.php/api/users";
App.User.collectionKey = "users";
现在我想使用 ember_data.js (调试:Ember 数据:1.0.0-beta.7.f87cba88)。控制台中没有错误,但从网络上看,没有调用 api,页面保持空白。
App = Ember.Application.create();
App.Store = DS.Store.extend({
adapter: DS.RESTAdapter.create({
url: '/sf2/web/app_dev.php/api'
})
});
App.User = DS.Model.extend({
username: DS.attr('string')
});
App.UserRoute = Ember.Route.extend({
model: function() {
return App.User.find();
}
});
最佳答案
Ember 可以在没有 Ember 模型和 Ember 数据的情况下使用。 Ember Model 和 Ember Data 是可与 Ember 一起使用的数据持久性库。 Ember 模型由 Erik Bryn 创建,目前尚未积极开发。 Ember Data 由 Ember 核心团队创建,目前正在积极开发中。
您在第二个示例中本质上错误地使用了 Ember 数据。您应该阅读这份过渡文件。 https://github.com/emberjs/data/blob/master/TRANSITION.md另外,这里有一个使用 Ember 数据的小示例。
Ember Data 的主要概念是定义一个适配器、一个模型,然后使用存储来查找记录。
适配器
App.ApplicationAdapter = DS.RESTAdapter;
型号
App.User = DS.Model.extend({
firstName: DS.attr()
});
商店
this.get('store').find('user');
关于javascript - 使用 ember_data 而不是 ember_model.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22315630/