簡體   English   中英

angular5:類型“true”不可分配給類型“Observable”<boolean>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM