簡體   English   中英

如何刷新從服務中檢索的數據?

[英]How do i refresh the data i retrieve from a service?

我想顯示可用房間的列表

    在我的家庭組件中列出。

    為此,我聲明了分配給 websocketService 訂閱的房間變量。 但是,每當我創建一個新房間時,除非我刷新頁面,否則它不會自動添加到列表中。 我該如何解決?

    home.component.ts

    public getRooms() :  Observable<any> {
          return this.http.get(`${this.url}/rooms`,{observe: 'response'});
    

    網絡套接字服務:

    <ul>
      <li *ngFor="let room of rooms">{{rooms}}</li> 
    </ul>
    

    主頁.html:

     <ul> <li *ngFor="let room of rooms">{{rooms}}</li> </ul>
     ngOnInit(): void { 
           this.webSocketService.getRooms().subscribe(res => {
              this.rooms = res
             });
           }
    

    您需要在訂閱中可用的 class 變量中進行分配

    嘗試將您的可變房間轉換為可觀察的,並從服務中獲取參考。 在模板中,您將使用 Async Pipe 獲得訂閱。

    ngOnInit(): void { 
      this.rooms$ = this.webSocketService.getRooms();
    }
    
    <ul>
      <li *ngFor="let room of rooms$ | async">{{room.someProperty}}</li> 
    </ul>
    

    暫無
    暫無

    聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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