在特定单词后面的URL末尾添加通配符

问题描述 投票:0回答:2

我有一个如下所示的网址:

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
regex angular url url-routing wildcard
2个回答
2
投票

使用组件中的qazxsw poi导航到您的网址

Router.navigate

您可以在用户登录组件中使用import { Router } from "@angular/router" constructor(private router : Router){} navigateToUserLogin(){ this.router.navigate([url], { queryParams: { ten: 123456 } }); } 来提取URL的查询参数

ActivatedRoute

0
投票

我不知道我是否理解你的问题?

在“登录”一词之后提取所有内容的正则表达式将是:

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" } });
© www.soinside.com 2019 - 2024. All rights reserved.