我有以下Ember应用程序。但是当我转到/products
路线时,我收到了以下错误:Error while loading route: TypeError {}
var App = Ember.Application.create();
App.Router.map(function() {
this.route('products');
});
DS.Store.extend({
revision: 11,
adapter: DS.RESTAdapter.create()
});
var Product = DS.Model.extend({});
var ProductsRoute = Ember.Route.extend({
model: function() {
return App.Product.find();
}
});
答案 0 :(得分:1)
首先,您的代码不会运行,因为您的模型和路由不存在App
的范围。它应该是这样的:
var App = Ember.Application.create();
App.Router.map(function() {
this.route('products');
});
DS.Store.extend({
revision: 11,
adapter: DS.RESTAdapter.create()
});
App.Product = DS.Model.extend({});
App.ProductsRoute = Ember.Route.extend({
model: function() {
return App.Product.find();
}
});
接下来,您可能想要替换:
this.route('products');
使用:
this.resource('products');
正在使用RESTAdapter
。
最后DS.Model
应该指定它应该从JSON响应中使用哪些字段:
App.Product = DS.Model.extend({
name: DS.attr('string')
});
希望它会有所帮助。