2016-09-25 114 views
0

我想有这样一个/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

回答

0

你尝试{ path: '/restaurants/:page_number' }

currentPage: params.page_number || 1

+0

我没有看到与我已有的差异 –

+1

动态片段的名称位于model-name_property而不是modelProperty(camelCase)中。这是惯例。请参阅:https://guides.emberjs.com/v2.8.0/routing/defining-your-routes/#toc_dynamic-segments – lependu

+0

这是一样的,我现在已经尝试过,但同样的 –

0

因为逻辑OR是||,不是||。 page = params.pageNumber || 1。但更可靠的是三元运算符,page = (params.pageNumber !== undefined ? params.pageNumber : 1)