无法使用emberJS加载数据

时间:2013-07-23 08:34:20

标签: ember.js

我有以下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();
  }
});

1 个答案:

答案 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')
});

希望它会有所帮助。