Как я могу импортировать тип подписки Typescript из метода подписки Aurelia Store? - PullRequest
0 голосов
/ 19 сентября 2018

Я следую документации для Aurelia Store о том, как подписаться на поток изменений магазина.Когда я импортирую машинопись Subscription type из rxjs, я получаю ошибку компиляции машинописи: TS2322: Type 'import("project\node_modules\aurelia-store\node_modules\rxjs\internal\Subscription") is not assignable to type import("project\node_modules\rxjs\internal\Subscription")

Пример кода:

// app.ts
import { autoinject } from "aurelia-dependency-injection";
import { Store } from "aurelia-store";
import { Subscription } from 'rxjs';
import { State } from "./state";

@autoinject()
export class App {

  public state: State;
  private subscription: Subscription;

  constructor(private store: Store<State>) {}

  bind() {
    this.subscription = this.store.state.subscribe(
      (state) => this.state = state
    );
  }

  unbind() {
    this.subscription.unsubscribe();
  }
}

Я пытался сделать import { Store, Subscription } from 'aurelia-store', ноэто тоже не работает.

РЕДАКТИРОВАТЬ:

В ответ на вопрос Пьера-Люка Шампиньи:

Является ли ваша версия rxjs(от Aurelia и вашего установленного rxjs) то же самое?

Итак, aurelia-store / package.json имеет версию rxjs "^ 6.2.2", а мои проекты package.json - "6.3.2",Итак, я удалил свою версию rxjs и установил версию 6.2.2.Теперь машинопись выводит это сообщение об ошибке:

TS2322: Тип 'import ("project / node_modules / aurelia-store / node_modules / rxjs / internal / Subscription"). Подписка "не может быть назначена типу"импорт ( "проект / node_modules / rxjs / внутренняя / подписка"). подписка.Свойство «_parent» защищено, но тип «Подписка» не является классом, производным от «Подписка».

1 Ответ

0 голосов
/ 19 сентября 2018

Итак, я не уверен, почему это сработало, но я отвечаю на свой вопрос на случай, если кто-то еще столкнется с этой проблемой.

  1. Я удалил rxjs
  2. Iпереустановил rxjs
  3. Я удалил мою node_modules папку
  4. Я удалил свой пакет-lock.json
  5. Я запустил npm clean cache --force
  6. Я запустилnpm install

Тогда все снова заработало:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...