【发布时间】:2019-09-09 15:39:50
【问题描述】:
我想在订阅中将查询参数转换为整数,但由于某种原因,将查询参数转换为整数(或任何其他类型)之后的代码会导致代码停止执行。
combineLatest(params, queryParams, (params, qparams) => ({ params, qparams }))
.subscribe(allParams => {
this.item.color = allParams.qparams['color'] || allParams.params['color'] || ''; //this line must be above
this.item.price = parseInt(allParams.qparams['price']) || 0; //this line also
this.items.features = allParams.qparams['features'].map(feature => parseInt(feature));
});
Map(或我尝试过的任何其他转换)工作,但它下面的行不执行。不知道是不是跟问题有关
- 使用数组(
features是一个数组); - 在异步中调用同步函数(映射);
- 完全不同。
对于正在发生的事情的任何建议,我将不胜感激。
【问题讨论】:
-
能否添加执行这段代码时抛出的错误?
-
没有显示错误,我是在每行下面添加console.log后才看到的。
-
你能
console.log(allParams)和我们分享输出吗? -
params是什么?queryParams是什么?请分享更多代码。与简单订阅ActivatedRoute相比,combineLatest在您的代码中有什么好处? -
它是URL参数和查询参数(用于保持数据刷新)
标签: angular asynchronous rxjs query-parameters