在路由上获取查询参数,Angular 服务器端渲染
Get Query Params on route, Angular Server Side Rendering
是否可以获取服务器端的查询参数?
我的 Angular 应用程序有 Lambda Cloudfront 部署版本。
当平台浏览器出现时,一切正常。
当我尝试在服务器端获取查询参数时,我总是得到 null/undefined。
我试过这个:
ngOnInit(): void {
this.queryId = this.route.snapshot.queryParamMap.get('id');
this.metaPlatform.addTag({ property: this.queryId, content: this.queryId });
}
//I get this meta tag:
<meta property="null" content="null">
也试过这个:
ngOnInit(): void {
const snapshot = this.router.routerState.snapshot;
this.meta.addTag({property: snapshot.url.split('=')[1],content: snapshot.url.split('=')[1]);
}
//I get this meta tag:
<meta property="undefined" content="undefined">
我想根据 queryParams 设置元标记,但我找不到在服务器端设置它们的方法。
似乎是 CloudFront 配置问题。
在 CloudFront 中创建的行为检查“查询字符串转发和缓存”是否配置为转发特定或所有参数。
是否可以获取服务器端的查询参数? 我的 Angular 应用程序有 Lambda Cloudfront 部署版本。
当平台浏览器出现时,一切正常。
当我尝试在服务器端获取查询参数时,我总是得到 null/undefined。
我试过这个:
ngOnInit(): void {
this.queryId = this.route.snapshot.queryParamMap.get('id');
this.metaPlatform.addTag({ property: this.queryId, content: this.queryId });
}
//I get this meta tag:
<meta property="null" content="null">
也试过这个:
ngOnInit(): void {
const snapshot = this.router.routerState.snapshot;
this.meta.addTag({property: snapshot.url.split('=')[1],content: snapshot.url.split('=')[1]);
}
//I get this meta tag:
<meta property="undefined" content="undefined">
我想根据 queryParams 设置元标记,但我找不到在服务器端设置它们的方法。
似乎是 CloudFront 配置问题。
在 CloudFront 中创建的行为检查“查询字符串转发和缓存”是否配置为转发特定或所有参数。