gpt4 book ai didi

Angular - 结合 params 和 queryParams observables

转载 作者:太空狗 更新时间:2023-10-29 18:15:53 25 4
gpt4 key购买 nike

我怎样才能将这些可观察到的东西合二为一?它们具有相同的功能。

this.sub = this.route.params.subscribe((params: any) => {
// functionality
});

this.sub = this.route.queryParams.subscribe((params: any) => {
// same functionality
});

最佳答案

您可以使用 combineLatest这样做:

import { ActivatedRoute } from '@angular/router';

import { combineLatest } from 'rxjs';

// ...

class MyComponent {

constructor(private route: ActivatedRoute) { }

ngOnInit() {

const params = this.route.params;
const queryParams = this.route.queryParams;

combineLatest(params, queryParams, (params, qparams) => ({ params, qparams }))
.subscribe(allParams => console.log(allParams.params, allParams.qparams));
}

}

params 和 qparams 都是以属性名作为参数名,以值作为值的对象。所以对于一条路线:

 RouterModule.forRoot([{
path: 'test1/:id',
component: Test1Component
}])

带参数

http://localhost:4200/test1/paramvalue?qparam=qpvalue

所有参数将是

{ 
params: {
id: "paramvalue"
},
qparams: {
qparam: "qpvalue"
}
}

关于Angular - 结合 params 和 queryParams observables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45451389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com