如何在 Angular 5 中获取 URI 的第一部分?
How do you get the first part of a URI in Angular 5?
我的导航栏上有一个按钮。单击时,我需要不同的行为,具体取决于用户当前所在的 URI。
假设我有这个 URI localhost:8080/entity/{entityId}
如何获取 URI 的第一部分 entity
作为 Angular 中的字符串 5.
好的,我从 Angular 的文档中找到了答案,您必须使用 @angular/router
中的 UrlSegment Angular class 来解析 url在片段中
link 到相关文档:https://angular.io/api/router/UrlSegment
const tree: UrlTree = router.parseUrl('/team;id=33');
const g: UrlSegmentGroup = tree.root.children[PRIMARY_OUTLET];
const s: UrlSegment[] = g.segments;
s[0].path; // returns 'team'
s[0].parameters; // returns {id: 33}
首先你必须从 Angular 导入 ActivatedRoute =>
import { ActivatedRoute } from '@angular/router';
接下来在您的组件构造函数中注入 activatedRoute =>
constructor(private activatedRoute: ActivatedRoute) {}
现在您可以访问 children 的路由,此控制台日志将输出一个 children 数组。
ngOnInit() {
console.log(this.activatedRoute.routeConfig.children);
}
您可以使用 ActivatedRoute 获取有关 url 的大量信息。
https://angular.io/api/router/ActivatedRoute
你可以在'/'的基础上拆分当前的url,它会将url转换成一个数组,你可以得到你想要的任何部分。
请参阅下面的代码片段:
url =window.location.href;
console.log(this.url.split('/')[1]);
我的导航栏上有一个按钮。单击时,我需要不同的行为,具体取决于用户当前所在的 URI。
假设我有这个 URI localhost:8080/entity/{entityId}
如何获取 URI 的第一部分 entity
作为 Angular 中的字符串 5.
好的,我从 Angular 的文档中找到了答案,您必须使用 @angular/router
中的 UrlSegment Angular class 来解析 url在片段中
link 到相关文档:https://angular.io/api/router/UrlSegment
const tree: UrlTree = router.parseUrl('/team;id=33');
const g: UrlSegmentGroup = tree.root.children[PRIMARY_OUTLET];
const s: UrlSegment[] = g.segments;
s[0].path; // returns 'team'
s[0].parameters; // returns {id: 33}
首先你必须从 Angular 导入 ActivatedRoute =>
import { ActivatedRoute } from '@angular/router';
接下来在您的组件构造函数中注入 activatedRoute =>
constructor(private activatedRoute: ActivatedRoute) {}
现在您可以访问 children 的路由,此控制台日志将输出一个 children 数组。
ngOnInit() {
console.log(this.activatedRoute.routeConfig.children);
}
您可以使用 ActivatedRoute 获取有关 url 的大量信息。 https://angular.io/api/router/ActivatedRoute
你可以在'/'的基础上拆分当前的url,它会将url转换成一个数组,你可以得到你想要的任何部分。 请参阅下面的代码片段:
url =window.location.href;
console.log(this.url.split('/')[1]);