繁体   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