我怎样才能只用一个 Behaviorsubject 来做到这一点?
How can I do it with just one Behaviorsubject?
我有这个代码:
private _fileData$: BehaviorSubject<string> = new BehaviorSubject<string>('');
private _storageData$: BehaviorSubject<Array<string>> = new BehaviorSubject<Array<string>>([]);
private constructor() {
this._fileData$.subscribe({ next: (fileData: string) => this._storageData$.next(fileData.toString().split('\r\n')) });
所以我在 _fileData$ 中有一些字符串数据,我想按行拆分它,这样我就得到了字符串数组,所以我创建了 _storageData$ 将它们放在这里。
它像我想要的那样工作,但我如何只使用一个 BehaviorSubject 来做到这一点?
private _storageData$: Observable<Array<string>>;
this._storageData$ = this._fileData$
.pipe(map((fileData) => {
return fileData.toString().split('\r\n');
}));
然后您可以在您的视图中绑定到它:
<span>{{ _storageData$ | async }}</span>
map
是一个 rxjs operator
我有这个代码:
private _fileData$: BehaviorSubject<string> = new BehaviorSubject<string>('');
private _storageData$: BehaviorSubject<Array<string>> = new BehaviorSubject<Array<string>>([]);
private constructor() {
this._fileData$.subscribe({ next: (fileData: string) => this._storageData$.next(fileData.toString().split('\r\n')) });
所以我在 _fileData$ 中有一些字符串数据,我想按行拆分它,这样我就得到了字符串数组,所以我创建了 _storageData$ 将它们放在这里。 它像我想要的那样工作,但我如何只使用一个 BehaviorSubject 来做到这一点?
private _storageData$: Observable<Array<string>>;
this._storageData$ = this._fileData$
.pipe(map((fileData) => {
return fileData.toString().split('\r\n');
}));
然后您可以在您的视图中绑定到它:
<span>{{ _storageData$ | async }}</span>
map
是一个 rxjs operator