我有observable list
个项目,它们是通过调用subject
通过next
手动设置的。
从该列表中,我映射了一个observable item
,当observable list
获取包含此过滤项的数据时,我希望它会被更新,但事实并非如此。
这是否应该像那样工作?
private devicesSubject = new ReplaySubject<Device[]>();
readonly devices$ = this.devicesSubject.asObservable();
public device$(ip: string): Observable<Device>{
return this.devices$.pipe(map(devices => {
return devices.find(device => device.getIp() === ip);
}));
}
// This never gets triggered
this.device$("127.0.0.1").subscribe(device => console.log(`${device.ip}`);
// When the devices are available
devicesSubject.next(serverDevices);
答案 0 :(得分:0)
返回方法内部的devicesSubject.asObservable()而不是创建只读变量。
Name