我是一个简单的应用程序,可以获取给定时间段的记录,并支持分页结果:
// routes
this.resource('visits', function() {
this.route('list', { path: '/:period' });
});
// 'visits' template
.menu
link-to %a.item 'visits.list' 'today' (query-params page=1)
| Today
link-to %a.item 'visits.list' 'yesterday' (query-params page=1)
| Yesterday
link-to %a.item 'visits.list' 'week' (query-params page=1)
| Current Week
我希望每次点击一个句点,它都会重置为第1页。问题是,当我转到不同于1的任何其他页面时,{I}中的当前period
{1}}不再是link-to
。
例如:active
我尝试解决此问题,重置params,或者按照此处的说明向控制器添加默认值:
然而,由于我没有退出控制器,因此两种解决方案都不适用于我。是否可以通过链接来忽略特定的http://localhost:4200/visits/today?page=5
并保留query-param
?
更新
这是一个有这个问题的JSBin:http://emberjs.jsbin.com/mulonulefi/4/edit
谢谢!
答案 0 :(得分:6)
您可以通过设置{{link-to}}
属性来覆盖使current-when
处于有效状态的路线:
<ul>
<li>{{#link-to 'visits.list' 'all' (query-params page=1) current-when="visits.list"}}All{{/link-to}}</li>
<li>{{#link-to 'visits.list' 'today' (query-params page=1) current-when="visits.list"}}Today{{/link-to}}</li>
</ul>
答案 1 :(得分:-1)
页面变量是否正常工作?尝试使用引号(query-params page ='1')...