我有一个带有这些嵌套路线的余烬应用程序:
Router.map(function() {
this.resource('articles', {path: 'yazilar' }, function() {
this.route('article', { path: ':id' });
});
});
我使用查询参数来过滤显示的文章:
// `articles` route
export default Ember.Route.extend({
queryParams: {
tab: {
refreshModel: true
}
},
model: function(params) {
return this.store.find('article', { tab: params.tab });
},
resetController: function(controller, isExiting, transition) {
if (isExiting) {
controller.set('tab', 'interesting');
}
}
});
以及articles/index.hbs
link-to
{{#link-to 'articles' (query-params tab="newest") class="right item"}}New{{/link-to}}
{{#link-to 'articles' (query-params tab="popular") class="right item"}}Popular{{/link-to}}
我可以切换到articles/?tab=newest
或articles/?tab=popular
这样的新路线,但当我切换到articles/1
这样的嵌套路线时,查询参数会一直存在,因此会变为articles/1/?tab=newest
我也看到了这个错误,可能是相关的:https://github.com/emberjs/ember.js/issues/5070
那么在emberjs中切换到嵌套路由时如何摆脱查询参数呢?