我怎样才能只用一个 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