![](/img/trans.png)
[英]Type 'Observable<boolean | “”>' is not assignable to type 'Observable<boolean>' TS2322
[英]angular5: Type 'true' is not assignable to type 'Observable<boolean>
我試圖在用戶登錄后更改登錄狀態
組件.ts
isLoggedIn$: Observable<boolean>;
constructor (private auth:Auth){}
ngOnInit (){
this.isLoggedIn$ = this.auth.getUser()
console.log(this.isLoggedIn$);
}
身份驗證
@Injectable()
export class Auth {
private user:boolean = false;
setUser(){
this.user= true;
}
getUser(){
return this.user
}
removeUser(){
this.user = false;
}
}
但我收到以下錯誤
錯誤 TS2322:類型 'true' 不可分配給類型 'Observable'
如果您在沒有實際服務的情況下模擬http
,您可以將登錄狀態包裝在 Observable 中,如下所示以快速修復。 看看 rxjs 並了解Observables
以獲得更好的理解。
@Injectable()
export class Auth {
private user:boolean = false;
setUser(){
this.user= true;
}
getUser(): Observable<boolean>{
return Observable.of(this.user)
}
removeUser(){
this.user = false;
}
}
另外: console.log(this.isLoggedIn$)
不會像那樣工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.