2

我是 EmberJS 的初学者。如果能给出详细的解释就好了。我有 api 端点用于获取期望 GET 请求到以下 url 的产品-

/api/products?date=2014-09-16&meal_type=2

这里,date 和meal_type 是查询参数。我的 router.js 看起来像这样-

    App.Router.map(function() {
      this.resource('products', { path: '/products/date/:date/meal/:mealType'} );
    });

    App.Router.reopen({
      location: 'history'
    });

这种动态路由的原因是我的应用程序的 url 似乎是相同的格式。

路线/product.js 看起来像 -

    App.ProductsRoute = Ember.Route.extend({
      model: function(params) {
        return this.store.findQuery('product', {date: params.date, meal_type: params.mealType});
    },

      queryParams: {
        date: {
          refreshModel: true
        },
        mealType: {
          refreshModel: true
        }
      },

});

控制器/products_controller.js

    App.ProductsController = Ember.ArrayController.extend({
      queryParams: ['date', 'meal_type'],
      date: null,
      meal_type: null,

      products: function() {
        return this.get('model.content');
      }.property()

我在浏览器控制台上收到错误 -

Error while loading route: undefined

这似乎在 ember.js?body=1:3522 行中。

任何帮助将不胜感激。谢谢

4

1 回答 1

1

在对错误进行了大量研究之后,我发现了数据库中的不一致。我通过恢复一致的数据库转储解决了该错误。

结论:EmberJS 期望数据是一致的。否则,它可能会引发难以调试的错误。

于 2014-09-30T11:50:03.303 回答