要解码请求URL中的Angular参数,可以使用Angular的内置服务UrlSerializer
。
首先,导入UrlSerializer
和UrlTree
:
import { UrlSerializer, UrlTree } from '@angular/router';
然后,在组件的构造函数中注入UrlSerializer
:
constructor(private urlSerializer: UrlSerializer) { }
接下来,使用UrlSerializer
的parse
方法将URL字符串解析为UrlTree
对象:
const url = '/products?id=123&category=books';
const urlTree: UrlTree = this.urlSerializer.parse(url);
现在,可以使用UrlTree
对象的queryParams
属性获取解码后的参数对象:
const queryParams = urlTree.queryParams;
console.log(queryParams); // { id: '123', category: 'books' }
这样就可以解码Angular请求URL中的参数。完整示例代码如下:
import { Component } from '@angular/core';
import { UrlSerializer, UrlTree } from '@angular/router';
@Component({
selector: 'app-root',
template: 'Angular URL Decoding
',
})
export class AppComponent {
constructor(private urlSerializer: UrlSerializer) { }
ngOnInit() {
const url = '/products?id=123&category=books';
const urlTree: UrlTree = this.urlSerializer.parse(url);
const queryParams = urlTree.queryParams;
console.log(queryParams); // { id: '123', category: 'books' }
}
}
这是一个简单的解码Angular请求URL的示例,你可以根据具体的需求进行扩展和修改。