当前位置: 首页 > 知识库问答 >
问题:

node_modules/rxjs-compater/operator/sharereplay中的错误。D.TS(2,10):

白坚壁
2023-03-14

我在我的项目中使用了角材料旋转器,但是,它显示了这一点

node_modules/rxjs-compat/operator/sharereplay中的错误。d.ts(2,10):错误TS2305:模块“d://controlcenter/ofservices/node_modules/rxjs/internal-compatibility/index”没有导出成员“sharereplayconfig”。

spinner.service.ts文件

import { Injectable } from '@angular/core';
import { Observable, Subject } from 'rxjs/Rx';
export interface ISpinnerState {
  show: boolean
}

@Injectable()
export class SpinnerService {
  private _spinnerSubject = new Subject();

spinnerState = <Observable<ISpinnerState>>this._spinnerSubject.asObservable();
  show() {
    this._spinnerSubject.next(<ISpinnerState>{ show: true });
  }
  hide() {
    this._spinnerSubject.next(<ISpinnerState>{ show: false });
  }
}

spinner.component.ts

import {Component, OnDestroy, OnInit} from '@angular/core';
import { Subscription } from 'rxjs/Rx';
import {  ISpinnerState, SpinnerService } from './services/spinner.service';
@Component({
  selector: 'loading-spinner',
  template: `
  <div *ngIf="visible"
  class="spinner">
</div>
  `,
  styles: [`.spinner {position: absolute;left: 46%;top: 12%;background-color:black;width:50px;height:50px}`]
})

export class SpinnerComponent implements OnDestroy, OnInit {
  visible = false;

  private _spinnerStateChanged: Subscription;

  constructor(private _spinnerService: SpinnerService) { }

  ngOnInit() {
    this._spinnerStateChanged = this._spinnerService.spinnerState
      .subscribe((state: ISpinnerState) => this.visible = state.show);
  }
  ngOnDestroy() {
    this._spinnerStateChanged.unsubscribe();
  }
}

共有1个答案

聂建茗
2023-03-14

试试这个版本,看看它对你是否有效

"rxjs": "6.3.3", 
"rxjs-compat": "6.3.3",
 类似资料:
  • 我在导入storemodule.providestore({counter:todos})时遇到了以下问题; node_modules/@ngrx/core/src/operator/enterzone.d.ts(1,10)中的错误:错误TS2305:Module“e:/work/nrgx-store2/my-dream-app/node_modules/rxjs/operator”没有导出成员“

  • shareReplay 使观察者共享 Observable,观察者会立即收到最新的元素,即使这些元素是在订阅前产生的 shareReplay 操作符将使得观察者共享源 Observable,并且缓存最新的 n 个元素,将这些元素直接发送给新的观察者。

  • shareReplay 函数签名: shareReplay(bufferSize?: number, windowTime?: number, scheduler?I IScheduler): Observable 共享源 observable 并重放指定次数的发出。 为什么使用 shareReplay? 通常啊,当有副作用或繁重的计算时,你不希望在多个订阅者之间重复执行时,会使用 shareRe

  • 我有以下方法: 和批准的排放方法: 我得到这样的错误,当我试图链我的rxjs请求: [at loader]中出错/src/app/auth/intercept/auth。拦截器。ts:18:16 TS2345:类型为“(res:any)的参数= 如何正确链接此请求?不要同时使用平面贴图链。map()和。error()方法?我可以用这种方式链接请求吗?因为我需要从我的请求方法(其自定义Http实现)

  • 当我使用Angular HttpClient发出GET请求时,我得到一个可观察的返回,并在RxJS操作符mergeMap中处理它。 现在一次又一次地抛出404,我想抓住它。最后,浏览器控制台中不应出现错误消息,并且应使用流的下一个值处理管道。 这有可能吗?我没有用catchError()管理它。 以下是我的代码的简化版本: 更新:添加了带有catchError()的方法 我尝试过这种方式,但没有检