如果您的屏幕上有选项和提交按钮。是否有内置方法通过共享角度2?
中的链接来使当前参数集可用例如: 如果在页面上选择了以下内容:
UserType = Developer
我希望网址为:http://example.com/users?usertype=Developer.
目前我唯一的方法是:
var route = this.url.path();
if (this.url.path().indexOf("?") > -1) {
route = this.url.path().substring(1, this.url.path().indexOf("?"));
}
this.router.navigate([route], {queryparams : { "usertype" : "Developer"}});
然后将其从ngOnInit()方法中的查询参数中拉回来。
这看起来很混乱,尤其是URL拆分,我认为必须有一种内置的方式来实现这一点。即使它只是一种更好的方式来获得该路线的URL路径。
答案 0 :(得分:1)
您不需要这些方法。只需将此添加到您要将参数附加到的任何按钮:
<a [routerLink]="['/users']" [queryParams]="{usertype: 'Developer'}">developer</a>
这将路由到:domain.com/users?usertype=Developer。
然后,在新路线上,在ngOnInit中,您可以轻松地获取参数:
import { ActivatedRoute } from '@angular/router';
constructor(private activatedRoute: ActivatedRoute) { }
ngOnInit() {
this.activatedRoute.queryParams.subscribe((data) => {
console.log(data);
});
}