我有一个如下所示的网址:
https://localhost:8080/user/login
但是,可以手动附加查询参数,以便URL看起来像这样。
https://localhost:8080/user/login?ten=123456
因此,我需要一个通配符,在“登录”一词之后,所有内容都会被记录下来。
我的URL在一个常量对象中定义,如下所示:
export const Constants = {
routing: {
home: '/',
userLogin: '/user/login',
}
..并使用如下:
const routing = Constants.routing;
const url = this.routing.userLogin
使用组件中的qazxsw poi导航到您的网址
Router.navigate
您可以在用户登录组件中使用import { Router } from "@angular/router"
constructor(private router : Router){}
navigateToUserLogin(){
this.router.navigate([url], { queryParams: { ten: 123456 } });
}
来提取URL的查询参数
ActivatedRoute
我不知道我是否理解你的问题?
在“登录”一词之后提取所有内容的正则表达式将是:
import { ActivatedRoute } from '@angular/router';
constructor(private route: ActivatedRoute) { }
ngOnInit(){
this.route.queryParams.subscribe(params=> { console.log(params); });
}
如何申请组件:
(?<=login).*$
对于使用angular中的queryparams进行路由,您可以将NavigationExtras与queryParams属性一起使用:
public ngOnInit(): void {
let regex = new RegExp("(?<=login).*$");
const matches = regex.exec(window.location.href);
if(matches.length>0){
this.href=matches[0];
}
}
并使用路由器链接
router.navigate(["user", "login"], { queryParams: { ten: "123456" } });