我在一个角度组件中有一个方法,其内容是:
this.route.paramMap.pipe(
switchMap((params: ParamMap) => {
let fooValue = params.get('selectedid');
console.log("inside switch map with value as " + fooValue);
return fooValue;
})
)
当我在上面订阅时,这个 Observable 被分配给类型 Observable<string>.
Now,如果 selectedid = ABCD,那么我会得到 4 次 next() 方法的调用,每次调用 A、B、C、D。这是什么原因?
这只发生在 switchMap 而不是 map 运算符。
当我使用this.router.navigate(['/mypath', path.id]);
和使用 switchmap 时,它不会拆分字符串。它发生在this.router.navigate(['/mypath1', { selectedid: obj.id, foo: "foo" }]);
语法上