我是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看起来采用相同的格式。
routes / 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。
任何帮助都将受到高度赞赏。感谢
答案 0 :(得分:1)
在对错误进行了大量研究之后,我发现了数据库中的不一致性。我通过恢复一致的数据库转储来解决错误。
结论:EmberJS希望数据保持一致。否则,它可能会引发难以调试的错误。