У меня есть список объектов, динамически создаваемых пользователем.У каждого объекта есть наблюдаемая click$
, я хочу объединить все эти click$
потоки в один поток.
Я пробовал статический оператор merge
из импорта rxjs
.С прямыми ссылками на поток:
sub = merge(list[0].click$, list[1].click$)
.subscribe(e => {
console.log('My click event', e);
})
все идет как ожидалось.
Но когда я использую массив click$
в следующем вызове подписки, я получил объект Observable
а не мое событие клика.
const streams= [];
list.forEach(o => { streams.push(o.click$); });
sub = merge(streams).subscribe(e => {
console.log(e); // e is an observable ???
});
Почему?Что я делаю не так?
Вот аналогичная реализация с такой же ошибкой: https://stackblitz.com/edit/typescript-ohq6rx?file=index.ts&devtoolsheight=100