加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 17:26:51 所属栏目:安全 来源:网络整理
导读:我知道如何导航添加其他参数到路由器,例如: this._router.navigate(['/users',{ page: 2 }]); 将导致导航到/ users; page = 2. 但我想做的是能够修改这些参数而无需实际导航.只需更改URL即可更新/添加参数. 这可能很有用,例如在显示表格时,用户更改排序键或
我知道如何导航添加其他参数到路由器,例如:

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

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

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

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

解决方法

只需使用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获取更多信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读