我试图遵循这个例子,但在使用combineLatest()时遇到了一个问题
Property 'subscribe' does not exist on type 'OperatorFunction<unknown, [unknown, Item[], User[]]>'
这里是我的立面:
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { combineLatest, distinctUntilChanged, map } from 'rxjs/operators';
export interface User {
test: string;
}
export interface Item {
test: string;
}
interface State {
items: Item[];
users: User[];
}
let _state: State = {
items: [],
users: [],
};
@Injectable()
export class Facade {
private store = new BehaviorSubject<State>(_state);
private state$ = this.store.asObservable();
items$ = this.state$.pipe(map(state => state.items), distinctUntilChanged());
emails$ = this.state$.pipe(map(state => state.users), distinctUntilChanged());
constructor(private http: HttpClient) {
combineLatest(this.items$, this.emails$).subscribe(
([items, users]) => {}
);
}
}items$和emails$都是可观察的。这段代码几乎反映了上面例子中的代码,为什么我会得到这个错误?
发布于 2019-07-23 21:09:12
假设您使用的是6+ of RxJS,根据迁移文档
combineLatest的rxjs/operators已被否决。现在应该直接导入该方法:
从‘rxjs’导入{ combineLatest };Observables接受数组作为其参数:
combineLatest(this.items$,this.emails$).subscribe(项目,电子邮件) => {};https://stackoverflow.com/questions/57172109
复制相似问题