我想知道是否有一种方法可以从URL中的queryParams中检索对象数组。 我要检索的对象应如下所示。
events: [
{
locations: ['123456789', '987654321']
period: {
from: '2019-11-19',
to: '2019-11-27'
}
},
{
locations: ['123456789']
period: {
from: '2018-01-23',
to: '2018-01-25'
}
}
],
days: [0, 1, 2, 3],
groupBy: 'days',
extraSeries: ['visits']
所以我想知道url中的queryparams应该是什么样子,以及如何从url中检索它们。例如,如何获取返回对象数组的queryParam events
?
之所以需要在queryParams中,是因为我希望能够与基于queryParams设置了过滤器的其他用户共享一个网址。
答案 0 :(得分:3)
您可以使用queryParams
请注意demo,对您有帮助
import { ActivatedRoute } from '@angular/router';
constructor( private route: ActivatedRoute) { }
ngOnInit() {
this.route.queryParams.subscribe(params => {
let event = params['events'];
});
}
答案 1 :(得分:1)
我不会按原样共享参数。您可以base64加密和解密参数以进行共享。您的示例数据已加密:
ZXZlbnRzOiBbDQogew0KICAgbG9jYXRpb25zOiBbJzEyMzQ1Njc4OScsICc5ODc2NTQzMjEnXQ0KICAgcGVyaW9kOiB7DQogICAgIGZyb206ICcyMDE5LTExLTE5JywNCiAgICAgdG86ICcyMDE5LTExLTI3Jw0KICAgfQ0KIH0sDQogew0KICAgbG9jYXRpb25zOiBbJzEyMzQ1Njc4OSddDQogICBwZXJpb2Q6IHsNCiAgICAgZnJvbTogJzIwMTgtMDEtMjMnLA0KICAgICB0bzogJzIwMTgtMDEtMjUnDQogICB9DQogfQ0KXSwNCmRheXM6IFswLCAxLCAyLCAzXSwNCmdyb3VwQnk6ICdkYXlzJywNCmV4dHJhU2VyaWVzOiBbJ3Zpc2l0cydd
加密的数据并不短,但具有url友好字符
答案 2 :(得分:1)
它可以帮助您尝试以下代码:
import { ActivatedRoute } from '@angular/router';
constructor( private route: ActivatedRoute) { }
ngOnInit() {
this.route.queryParams.subscribe(
params => {
let event = params['events'];
});
}