gpt4 book ai didi

Angular url matcher - 匹配任何以开头的路径

转载 作者:太空狗 更新时间:2023-10-29 19:33:40 25 4
gpt4 key购买 nike

我使用 angular2+ 路由器,我试图匹配任何以 /tree 开头的路径,例如:

example.com/projects/1/repository/tree/src
example.com/projects/1/repository/tree/src/app
example.com/projects/1/repository/tree/src/app/core
等等。

我试过这种方法,但它不起作用:https://github.com/angular-ui/ui-router/wiki/URL-Routing#regex-parameters

我的路由器配置:

const routes: Routes = [
{
path: 'projects/:id/repository/{tree:.*}',
component: FilesListComponent
}

tree 之后的所有内容我都需要在 Controller 中作为参数捕获,这样我就可以用它进行 API 调用。

最佳答案

这是尝试这个的解决方案..

    import { Component } from '@angular/core';
import { Router } from "@angular/router";
import { Event as NavigationEvent } from "@angular/router";

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
public url: string;
constructor(router: Router) {

router.events.subscribe((event: NavigationEvent): void => {
this.url = router.url;
if (this.url.match('/tree/')) {
console.log("Matched your Path",this.url);
}
}
);

}
}

你可以在这里改变你的匹配部分

 if(this.url.match('give your matching here')){
//do something
}

您在 this.url 变量中获取捕获的值。

它运行完美。希望对您有所帮助。

关于Angular url matcher - 匹配任何以开头的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48136986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com