当前位置: 首页 > 知识库问答 >
问题:

可观察对象数组内部的角度9-获取值

越飞语
2023-03-14

我有一个servers对象数组,其中在数组中有另一个可观察对象数组,其键是[securityGroups]。

我有另一个securitygroupsArray数组,在这里我使用API来获取所有SecurityGroups。

我需要在securityGroups键中查找服务器阵列中该服务器上安全组的所有名称,并在一个选项中只显示我的其他阵列(securityGroupArray)的ngfor的不同名称。我试着用3ngFor,但没有用。你能帮帮我吗?

我的组件代码:

ngOnInit(): void {
    forkJoin(
      this.serverService.getServer(),
      this.securityGroupService.getSecurityGroups())
      .pipe(takeWhile(() => this.alive))
      .subscribe(([servers, groups]) => {
        this.servers = servers.map((item) => ({
          ...item,
          securityGroups: this.serverService.getServerById(item.id)
            .pipe(map(server => server["security_groups"]))
        }))
        this.securityGroupArray = groups['security_groups'].map((item) => ({
          ...item,
          expanded: false,
        }))
      }

我的html代码:

<div class="form-group" [formGroup]="form">
    <div class="col-sm-12">
      <select
        class="form-control border-primary"
        formControlName="server"
      >
        <option [value]="''">select</option>
        <span *ngFor="let group of securityGroupArray">
            <option *ngFor="let server of servers" [value]="server.id">
              <span *ngFor="let secGroup of server.securityGroups | async">
                {{ secGroup.name !== group.name ? server.name : ''}}
              </span>
            </option>
        </span>
      </select>
    </div>
  </div>

我的服务器阵列:

{id: "1879f47f-1c5e-464b-bb76-e7cc13ef426e", name: "hello", flavor: {…}, securityGroups: Observable}
,

{id: "b9c7e32a-bf99-4250-83cb-13523f9c1604", name: "test01", flavor: {…}, securityGroups: Observable}

我的安全Grouparray

{id: "b339774a-9ff7-4136-a0ca-94dd998b8dcc", name: "hello", description: "", …}
,

{id: "e96d271c-aa69-4a61-b0ca-63bfa8c1293e", name: "new09", description: "", …}

暂时还没有答案

 类似资料:
  • 我试图显示一个对象数组,多个函数将不得不改变它。所以我试着让它成为可观察的(也许我错了)。 打字版本:2.7.2 rxjs:6.2.1角cli:6.0.8节点:8.11.3角:6.0.7 我的服务(IsolementService)中有一个变量声明为: 我的服务主要有两种方法 接口: 我的服务是呼叫组件: 但是当我编译时,我有一个错误TS2495:类型“Observable”不是数组或字符串类型。

  • 如何编写接受并返回的函数? 我得到的错误是类型'Observable'不能分配到类型'Observable'。类型'transaction[]不可分配给类型'transaction'。类型“transaction[]”中缺少属性“id”。 据我所知,可观测管道函数(map、single、find、max等)与数据流有关(即,当可观测器随着时间的推移发出多个项时),当可观测器同时发出单个项(碰巧是一

  • 我有一个可观察的,可观察的是存储在本地存储器中的一组对象(视频)。我有这样的“功能”将新视频推送到阵列中:视频是一个接口 在其他组件中,我将其称为推送新对象(视频),如下所示: 但这行不通,我知道这是我的错。在observable之前,我使用了经典的常量和函数,工作得很好,现在我在observable方面遇到了麻烦。有人告诉我,我需要订阅一个管道,但我找不到任何地方如何做到这一点。对我来说,可见物

  • 我有一个组件订阅服务中的一个可观察对象。该方法反过来订阅另一个服务中的可观察对象。我想将一个数组从最后一个服务传递回第一个服务,然后第一个服务将该数组传递回组件。更具体地说,该组件调用其本地服务,然后调用一个数据服务,该数据服务通过http客户端访问我的数据库。http客户端正在工作,数据服务将数组返回给本地服务。本地服务接收数组,但我不知道如何将该数组作为可观察对象传递回组件。以下是简短的代码块

  • Observables 是多个值的惰性推送集合。它填补了下面表格中的空白: 单个值 多个值 拉取 Function Iterator 推送 Promise Observable 示例 - 当订阅下面代码中的 Observable 的时候会立即(同步地)推送值1、2、3,然后1秒后会推送值4,再然后是完成流: var observable = Rx.Observable.create(functio

  • 我有一个方法返回<code>Single 我可以使用,但这不允许我从中返回列表。 我还尝试了。 编辑 我可以通过以下方式完成这项工作: 请告诉 如果这种方式是正确的 我是反应式编程新手,请解释一下。