我正在使用 Angular2 。我有BehaviorSubject
。
isOpen$: Subject<boolean> = new BehaviorSubject<boolean>(true);
当我像这样使用以获得最新值
isOpen$.getValue()
效果很好,但终端给了我警告:
类型中不存在
'getValue'
'Subject<boolean>'
属性
我该如何解决这个问题?
答案 0 :(得分:4)
您将其定义为Subject<boolean>
,但是从BehaviorSubject<boolean>(true)
进行分配。在 TypeScript 中,分配属性时,属性的类型是多余的。删除这样的声明:
isOpen$ = new BehaviorSubject<boolean>(true);
然后静态分析仪会按照您的预期正确处理它。类型Subject<boolean>
不包含getValue
方法。
答案 1 :(得分:2)
isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);
然后静态分析器alao知道getValue()
存在。
Subject
没有getValue()