angular – 在URL中添加/更改可选参数(矩阵表示法)而不导航

前端之家收集整理的这篇文章主要介绍了angular – 在URL中添加/更改可选参数(矩阵表示法)而不导航前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道如何导航添加其他参数到路由器,例如:

this._router.navigate(['/users',{ page: 2 }]);

将导致导航到/ users; page = 2.

但我想做的是能够修改这些参数而无需实际导航.只需更改URL即可更新/添加参数.

这可能很有用,例如在显示表格时,用户更改排序键或添加过滤器.

@H_403_20@解决方法
只需使用router.navigate()方法.路由器将识别您要求导航到同一组件,因此它将更改参数而不实际导航.

要获得新参数的通知并更新UI,您可以订阅ActivatedRoute.params Observable:

import {ActivatedRoute} from '@angular/router';
...
constructor(private route:ActivatedRoute){}

ngOnInit() {
  this.sub = this.route.params.subscribe(params => {
     let page = +params['page']; // (+) converts string 'id' to a number
     let sort = params['sort'] || 'ASC'; //use ASC order if none is supplied
     this.updateUI(page,sort);//function would update component as you wish
   });
}

搜索params.subscribe on this page获取更多信息.

猜你在找的Angularjs相关文章