Angular应用程序初始化使用可观察对象方法
创始人
2024-10-30 13:00:50
0

在Angular应用程序初始化阶段,我们可以使用可观察对象方法来等待所有数据的加载完成。这个方法可以让我们保证在应用程序完全加载之前不显示任何内容,避免了可能出现的闪烁或错误。下面是一个可观察对象方法的示例:

// app.component.ts

import { Component, OnInit } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable/combineLatest'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/filter'; import { UserService } from './user.service';

@Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent implements OnInit {

public users: User[];

constructor(private userSvc: UserService) { }

ngOnInit() { const users$ = this.userSvc.getUsers();

Observable.combineLatest(users$)
  .map(([users]) => {
    return { users };
  })
  .filter(({ users }) => !!users.length)
  .subscribe(({ users }) => {
    this.users = users;
  });

}

}

在代码中,我们使用了一个名为combineLatest的可观察对象方法。这个方法接收一个或多个可观察对象作为参数,并在这些对象每次发射一个新值时都会发射一个新值。

在本例中,我们只使用了一个可观察对象,即由UserService提供的用户列表。我们使用一个map操作符将它转换成一个对象,并使用一个filter操作符过滤掉空数组。最后,我们将结果赋值给一个公共属性。

这个方法可以应用于任意数量的可观察对象,并且一旦所有对象都发射了一个值,我们就可以在subscribe回调函数中使用这些值。

相关内容

热门资讯

昨日!wepoker透视脚本(... 您好:这款wepoker透视脚本游戏是可以开挂的,确实是有挂的,很多玩家在这款wepoker透视脚本...
日前!wpk透视辅助靠谱吗(透... 日前!wpk透视辅助靠谱吗(透视)原来是有挂(有挂助手开挂辅助辅助器)-哔哩哔哩;无需打开直接搜索微...
据目击者称!wepoker钻石... 据目击者称!wepoker钻石怎么看底牌(透视)一直真的是有挂(有挂辅助开挂辅助脚本)-哔哩哔哩您好...
做出回应!福建天天开心辅助工具... 福建天天开心辅助工具是一款专注玩家量身打造的游戏记牌类型软件,在福建天天开心辅助工具这款游戏中我们可...
据公告内容!sohoo pok... 据公告内容!sohoo poker辅助器(透视)其实是有挂(有挂总结开挂辅助辅助器)-哔哩哔哩 了解...
随着!余干中至怎么输就一直输(... >>您好:余干中至怎么输就一直输确实是有挂的,很多玩家在这款余干中至怎么输就一直输游戏中打牌都会发现...
围绕透视问题!哈糖大菠萝万能挂... 围绕透视问题!哈糖大菠萝万能挂(透视)一贯是有挂的(了解有挂开挂辅助辅助器)-哔哩哔哩;无需打开直接...
针对!广西老友玩有破解码(辅助... 针对!广西老友玩有破解码(辅助挂)一直是有挂的(有挂经验)-哔哩哔哩;打开点击测试直接进入微信(13...
近年来!hhpoker辅助码(... 近年来!hhpoker辅助码(透视)原来是有挂的(有挂教学开挂辅助下载)-哔哩哔哩您好:hhpoke...
截至发稿!新天道辅助器怎么设置... 截至发稿!新天道辅助器怎么设置(辅助挂)一直是有挂(有挂模板)-哔哩哔哩1、下载安装好新天道辅助器怎...