为公司网站制作有角度的入职页面。人们将通过欢迎电子邮件中的链接导航到该页面,该链接将包含用户特定的令牌。我需要从url querystring中获取此标记,并在所有ajax调用中使用它以进行auth目的。我的问题是阅读查询字符串。
Angular版本是4.2.4
我已经梳理了关于' @ angular / common'的文档页面。位置,LocationStrategy,PathLocationStrategy并复制粘贴导入并将它们添加到提供程序,错误后出错后出错。我无法在导入位置的任何地方找到一个简单的示例,并使用它从页面网址获取查询字符串。如果这是javascript,它是一对超级简单的几行代码。为什么这么难?任何帮助将不胜感激!
我尝试了什么:
app.module.ts
import { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';
providers: [Location, {provide: LocationStrategy, useClass: PathLocationStrategy}],
page.services.ts
constructor(private location: Location) {
console.log('location: ', location);
}
答案 0 :(得分:4)
您可以使用@angular/router
包中的Angular ActivatedRoute
来执行此操作。像对待其他人一样将其导入模块,然后像Location
那样将其注入组件中。然后,您可以访问queryParamMap
,如:
constructor(private route: ActivatedRoute) {
console.log(route.snapshot.queryParamMap);
}
这将返回一个ParamMap
接口,其实际上受URLSearchParams
接口启发:)
您可以执行route.queryParamMap.get('myQueryParam')
之类的操作,它可以正常运行。