这真是骗我疯了
我已经签出了一个非常简单的ionic v4 Project with a login flow。
该演示程序运行良好,但是由于该项目已经进行了5个月,所以我决定创建一个具有最新离子cli的新离子项目,并将源代码放入具有最新稳定离子的新项目中。依赖性。
但是随后rxJS-BehaviorSubject(authState $)表现得很奇怪,请参见屏幕截图。
代码(我已经在isAuthenticated()方法中添加了一些console.logs):
console.log('isAuthenticated: ', this.authState$.getValue());
console.log('isAuthenticated: ', this.authState$);
控制台:
那是怎么回事:
getValue()返回初始值,其中打印对象包含正确的值(true)。这对我来说很奇怪,因为他们两个都被彼此追称。
当我将版本改回原来的package.json时,它将再次起作用:
ionic项目的更新将角度版本从v6.1更新到v7.2(包括deps),并将TypeScript从2.9更新到3.1。
RXJS已从6.2.2更新到6.3.3。
如果您能告诉我发生了什么,我会很酷。
更新:
我可能已将其追踪到导致此问题的单个依赖项。
最后一个工作:“ @ ionic / angular”:“ 4.0.0-beta.17” 无法正常工作:高于@ ionic / angular @ 4.0.0-beta.17的任何内容。
在创建新的离子项目时,它附带4.1.0。这意味着它不能用于新项目。
非常感谢,
Sascha
答案 0 :(得分:0)
尝试直接访问值
this.authState$.value
答案 1 :(得分:0)
您需要使其可观察到以订阅数据。请这样使用
{{1}}