Rom*_*man 8 typescript angular
我有这条带有查询参数的路线lang:
http://localhost:4200/?lang=de
Run Code Online (Sandbox Code Playgroud)
以下示例均不起作用,它始终为 null 或未定义
import { ActivatedRoute } from '@angular/router';
constructor(private route: ActivatedRoute) {
console.log(this.route.snapshot.params.lang);
console.log(this.route.snapshot.queryParamMap.get('lang'));
}
ngOnInit(): void {
this.route.queryParams.subscribe(params => {
let lang = params['lang'];
console.log(lang);
});
console.log(this.route.snapshot.queryParamMap.get('lang'));
console.log(this.route.snapshot.params.lang);
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我现在已经阅读了几本指南,甚至有一些关于 Angular 10 的指南。每个指南都显示了上述示例,但我仍然无法获取 的值lang。
这是我的工作解决方案:
var url = new URL(window.location.href);
var lang = url.searchParams.get("lang");
Run Code Online (Sandbox Code Playgroud)
这适用于 ngInit 和构造函数。
| 归档时间: |
|
| 查看次数: |
10205 次 |
| 最近记录: |