我正在跟踪关于如何订阅存储更改流的奥雷利亚商店文档。当我从Subscription导入类型记录时,我得到一个类型记录编译错误: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',但这也不起作用。
编辑:
在回答Pierre-Luc Champigny的问题时:
您的rxjs版本(来自Aurelia和已安装的rxjs)是否都相同?
因此,aurelia/ package.json有rxjs版本"^6.2.2“,我的项目package.json是"6.3.2”。因此,我卸载了我的rxjs版本并安装了6.2.2版本。现在,类型记录给出了以下错误消息:
'import("project/node_modules/aurelia-store/node_modules/rxjs/internal/Subscription").Subscription‘类型不能分配给'import("project/node_modules/rxjs/internal/Subscription").Subscription'.类型属性'_parent‘是受保护的,但类型’订阅‘不是从’订阅‘派生的类。
发布于 2018-09-19 18:41:27
所以,我不知道这是为什么,但我在回答我自己的问题,以防其他人遇到这个问题。
node_modules文件夹npm clean cache --forcenpm install然后一切又开始运作了:)
https://stackoverflow.com/questions/52408015
复制相似问题