[英]BehaviorSubject (in Ionic Project) behaves strangely after update to latest Angular (v6 to v7)
它讓我瘋狂。
我已經檢查了一個非常簡單的離子v4項目,其中包含登錄流程 。
該演示工作非常精細,但由於這個項目已經有5個月了,我決定用最新的離子cli創建一個新的離子項目,並將光源放入新的......具有最新的穩定離子依賴性。
但是rxJS-BehaviorSubject(authState $)的行為非常奇怪,請參見屏幕截圖。
代碼: https : //github.com/meumobi/meu-starter.login-flow.ionic-v4/blob/master/src/app/core/auth/auth.service.ts
代碼(我已經在isAuthenticated()方法中添加了一些console.logs):
console.log('isAuthenticated: ', this.authState$.getValue());
console.log('isAuthenticated: ', this.authState$);
控制台:
所以發生了什么事:
getValue()返回初始值,其中打印對象包含正確的值(true)。 這對我來說似乎很奇怪,因為它們都是彼此相稱的。
當我更改版本(原始的package.json)時,它將再次工作:
離子項目的更新將角度版本從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。 這意味着它不能用於新項目。
非常感謝,提前,
薩沙
嘗試直接訪問該值
this.authState$.value
您需要使其成為可觀察的訂閱數據。 請這樣使用
public _auth$:Observable<boolean> =this.authState$.asObservable();
this._auth.subscribe(data=>{console.log(data);
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.