灰烬动态路由不工作
问题描述:
我想有这样一个/restaurants/:pageNumber
网址,我想/restaurants
承担PAGENUMBER参数为1灰烬动态路由不工作
这里是我的Router.js
:
Router.map(function() {
this.route('restaurants', function() {});
this.route('restaurants', { path: '/restaurants/:pageNumber' }, function() {});
});
如果去掉function() {}
它,我只是得到与在控制台中没有错误空白页/restaurants/1
我routes/restaurants/index.js
:
export default Ember.Route.extend({
ajax: Ember.inject.service(),
model(params) {
return Ember.RSVP.hash({
response: this.get('ajax').request('/getAllRestaurants', {method: 'GET'}),
currentPage: params.pageNumber | 1
});
}
});
在templates/restaurants/index.hbs
我检查{{model.currentPage}}
,它总是1
。
答
你尝试{ path: '/restaurants/:page_number' }
和
currentPage: params.page_number || 1
?
答
因为逻辑OR是||,不是||。 page = params.pageNumber || 1
。但更可靠的是三元运算符,page = (params.pageNumber !== undefined ? params.pageNumber : 1)
我没有看到与我已有的差异 –
动态片段的名称位于model-name_property而不是modelProperty(camelCase)中。这是惯例。请参阅:https://guides.emberjs.com/v2.8.0/routing/defining-your-routes/#toc_dynamic-segments – lependu
这是一样的,我现在已经尝试过,但同样的 –