エクスポートされたクラスのパブリックプロパティXは、外部モジュール「/ rxjs / internal / Observable」から「Observable」という名前を持っているか使用していますが、名前を付けることはできません

mpro

コンポーネント間でデータを共有するためのサービスを実装しました。

import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class DataService {
  private dataSource = new BehaviorSubject(Object);
  public currentData = this.dataSource.asObservable();

  constructor() {}

  changeData(data) {
    this.dataSource.next(data);
  }
}

プロジェクトをビルドしようとするまで、すべてが正常に機能していました。次に、このエラーが発生します:

エラーTS4029:エクスポートされたクラスのパブリックプロパティ 'currentData'は、外部モジュール "/ rxjs / internal / Observable"からの名前 'Observable'を持っているか、使用していますが、名前を付けることができません。

mpro

調査の結果、Observableを参照するプロパティを使用していることがわかりましたが、見つかりません。これを修正するには、不足しているObservableインポートを追加してcurrentData変数に入力するだけです。

import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class DataService {
  private dataSource = new BehaviorSubject(Object);
  public currentData: Observable<Object> = this.dataSource.asObservable();

  constructor() {}

  changeData(data) {
    this.dataSource.next(data);
  }
}

ただし、エラーは、プロジェクトをlibに変換したときにのみ表示されました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ