使用从firebase获取的对象数组,使用Angular2在下拉菜单中显示唯一选项

使用从firebase获取的对象数组,使用Angular2在下拉菜单中显示唯一选项,angular,firebase,Angular,Firebase,使用Angular2,我的html文件中有一个下拉菜单,如下所示(我使用Ink作为CSS框架): 我的会员模式: export class Member { public dateCreated: Date = new Date(); public TWITTERPOPULATION: number = 328000000; // TODO figure of how to globally access this as a const public TOTALWORLDWEALTH

使用Angular2,我的html文件中有一个下拉菜单,如下所示(我使用Ink作为CSS框架):

我的会员模式:

export class Member {
  public dateCreated: Date = new Date();
  public TWITTERPOPULATION: number = 328000000; // TODO figure of how to globally access this as a const
  public TOTALWORLDWEALTH: number = 60000000000;
  public influenceQuotient: number;

  constructor(public firstName: string, public lastName: string, public illuminatiNickname: string, public sectorOfInfluence: string, public numberOfTwitterFollowers: number, public netWorth: number, public politicalImpactQuotient: number, public suspicionOfIlluminatiMembership: number, public role: string, public salientDetails: string, public imgURL: string, public imgAlt: string) {
    this.influenceQuotient = numberOfTwitterFollowers/this.TWITTERPOPULATION + netWorth/this.TOTALWORLDWEALTH + politicalImpactQuotient - suspicionOfIlluminatiMembership;
  }
}

members[]只是一个成员对象数组(但从fireBase获取)。

您能否提供
members[]
结构?更新是否有帮助?什么是
members
?如果您尝试插入
async
管道,可能是
可观察的
?如何设置该属性,以及如何在“模板中的其他位置”使用该属性?请注意,删除重复项的方法不会将可观察的
作为输入或输出处理(因此异步管道将不工作,输入也不会工作)。如果原始源至少是一个
可观察的
,那么您可能希望在某个时间点对该源执行
.distinct()
。如果你不能从这些笔记中找到答案,最好说明来源。谢谢,尼尔。是的,这是一个火箭筒。关于.distinct()文档的任何线索?我不熟悉。
getUniqueRoles(members: Member[]){
    var flags = [], output = [], l = members.length, i;
    for( i=0; i<l; i++) {
      if( flags[members[i].role]) continue;
      flags[members[i].role] = true;
      output.push(members[i].role);
    }
    return output;
  }
export class Member {
  public dateCreated: Date = new Date();
  public TWITTERPOPULATION: number = 328000000; // TODO figure of how to globally access this as a const
  public TOTALWORLDWEALTH: number = 60000000000;
  public influenceQuotient: number;

  constructor(public firstName: string, public lastName: string, public illuminatiNickname: string, public sectorOfInfluence: string, public numberOfTwitterFollowers: number, public netWorth: number, public politicalImpactQuotient: number, public suspicionOfIlluminatiMembership: number, public role: string, public salientDetails: string, public imgURL: string, public imgAlt: string) {
    this.influenceQuotient = numberOfTwitterFollowers/this.TWITTERPOPULATION + netWorth/this.TOTALWORLDWEALTH + politicalImpactQuotient - suspicionOfIlluminatiMembership;
  }
}