向Aurelia中的路由添加查询参数
我有一个分页的API,看起来像向Aurelia中的路由添加查询参数,aurelia,Aurelia,我有一个分页的API,看起来像http://127.0.0.1:8000/api/articles/?page=2我希望在中的前端使用相同的分页 我为下一页和上一页创建了两个按钮: <button type="button" click.delegate="getArticles(articles.previous)">prev</button> <button type="button" click.delegate="getArticles(ar
http://127.0.0.1:8000/api/articles/?page=2
我希望在中的前端使用相同的分页
我为下一页和上一页创建了两个按钮:
<button
type="button"
click.delegate="getArticles(articles.previous)">prev</button>
<button
type="button"
click.delegate="getArticles(articles.next)">next</button>
prev
下一个
当我单击next
时,会有一个新的GET
请求,文章列表会更新,但我还想在URL上添加参数,以便用户可以看到他在第二页上。
那么,如何将/?page=2
添加到路线的末尾
我知道如何使用不同的组件作为子组件添加参数,但这次我使用的是相同的组件
谢谢。Aurelia支持开箱即用路由中的查询参数。您不需要在路由本身中定义page
参数。所有查询参数只提供给activate
方法的params
参数
从“aurelia框架”导入{inject};
从“aurelia路由器”导入{Router,activationStrategy};
@注入(路由器)
出口类物品(路由器){
建造商(路由器){
this.router=路由器;
}
激活(参数){
this.page=parseInt(params.page | |“1”);
//TODO:在此处从API加载您的文章
//此项。文章=
}
//这对于告诉Aurelia路由器不要重复使用是必要的
//在页面之间导航时使用相同的视图模型
//这样每次都会调用activate方法
determineActivationStrategy(){
返回激活策略。替换;
}
//TODO:检查是否可以转到上一页和下一页等。
下一页(){
this.router.navigateToRoute('articles',{page:this.page+1});
}
上一页(){
this.router.navigateToRoute('articles',{page:this.page-1});
}
}
这非常有用。无论如何,使用--this.page
而不是this.page-1
可以防止出现错误。另外,在我的情况下,我不需要ActivateStregy
,但很高兴知道,谢谢。