导航栏上有一个按钮。单击后,我希望用户根据当前使用的URI采取不同的行为。
假设我有这个URI localhost:8080/entity/{entityId}
如何获得Angular 5中的字符串entity
(URI的第一部分)。
答案 0 :(得分:0)
好吧,我从Angular的文档中找到了答案,您必须使用@angular/router
中的UrlSegment Angular类来解析分段中的url。
链接到相关文档: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}
答案 1 :(得分:0)
首先,您必须从Angular =>
导入ActivatedRoute。import { ActivatedRoute } from '@angular/router';
下一步在您的组件构造函数中注入ActivatedRoute =>
constructor(private activatedRoute: ActivatedRoute) {}
现在您可以访问孩子的路线,该控制台日志将输出一系列孩子。
ngOnInit() {
console.log(this.activatedRoute.routeConfig.children);
}
您可以通过ActivatedRoute获得有关您的网址的很多信息。 https://angular.io/api/router/ActivatedRoute
答案 2 :(得分:0)
我不知道这是否会对任何人有帮助,但是在Angular 8中,我可以使用以下方法在应用程序路由中获取一个名为id:的uri段:
constructor(private route: ActivatedRoute) {
this.param = this.route.params['_value']['id'];
}