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

角*ngFor绑定到异步管道可观察到-发生了什么?

危彬彬
2023-03-14

我刚开始学习angular4,遇到了一个概念上的问题。async管道(在本例中与*ngFor结合使用)用于订阅可观察的,而不用手动订阅。查看web上的示例:

情况1:绑定到包含单个项(如观察项)的可观察项

情况2:绑定到一个可观察的,其中包含项目数组,如可观察的

案例3:1和2与主语、promise或行为的变体

(案例1单项示例:http://briantroncone.com/?p=623)

(案例2阵列示例:http://www.concretepage.com/angular-2/angular-2-async-pipe-example)

从概念上讲,我得到了ngFor在一个可枚举项上迭代,我假设可枚举项是从可观察的发出的项,而不是可观察的本身。

所以*ngFor="让用户的用户"只会在可观察上工作

*ngFor在每个项目从可观察到的?

如果是这种情况,那么我们如何绑定到一个可观察的项目而不是项目[],当ngFor不是枚举的时候,它如何迭代项目?谢谢。


共有1个答案

易飞文
2023-03-14

*ngFor=“让用户中的用户”只会处理可观察的

是,NgFor指令将创建一个模板,每个项目从迭代。所以Iterable不是Object

*ngFor在每个项目从可观察到的到达时被触发?

否,在使用observable时,NgFor将在observable发出值时工作(整个iterable不是它的前置项)。

当项不是可枚举项时,ngFor如何迭代该项?

由于ngFor仅支持Iterable,因此您可以通过Object.valuesObject.keys创建管道,将对象转换为Array,以便ngFor可以迭代。

 类似资料:
  • 我对angular是个新手,开始学习angular 4。数据未与使用异步管道的组件上的指令绑定。请帮忙 用户服务使用HTTP请求从API获取数据: user.service.ts 在这里,我使用用户列表的可观察用户[]界面: user.component.ts 订阅可观察用户变量的异步管道模板: user.component.html

  • 嗨,我正在使用angular 7和rxjs async 在我的组件中,我使用ngFor与异步观察者 在我的服务中,我有一个BehaviorSubject,当用户选择一个组时,它会被释放 这是selectedItems$可观察的: 这是可行的,但现在我需要能够更改特定项以响应websocket消息。我有一个websocket连接,用于处理更新项目的消息。有没有一种方法可以使用rxjs的反应式方法来实

  • 是的,我看到其他人得到了这个错误,我只是不太明白如何在我的代码中修复它 如果我没有返回,它不会因错误而崩溃,但我确实希望返回数据。 更新评论问题

  • 我在使用可观察类制作DropDownList时遇到问题。 下面是可观察类的代码: 这是我的工作下拉列表: 这是我的DropDownList的html: 最后,这是我从observable datasource请求中得到的结果: 我做了一些研究,但找不到任何合适的例子。 我看了看:MVVM小部件绑定和周围玩数据绑定,数据值字段,数据文本字段,但不能得到我想要的结果。 因此,我正在寻找的是一种将常规D

  • 我在谷歌上搜索了一下,并试图用我找到的例子尽可能好地解决这个问题,但是唉...没有成功。 使命: 打开模式,并显示用于选择已存在用户的复选框 错误: 问题: 在选择一个人之前,新的或现有的玩家是“未定义的”。因此,我创建了一个“teamPlayerDefault”js对象,其数据类似于api调用返回的数据(尚未实现)。这是用来初始化的 JSFiddle链接: 点击这里。。。 代码:

  • 我搞不懂这本书是怎么学的。管道管道工作正常。 文件中有一些解释。例如,它们是什么意思: 具有最终估计器的变换管道。 为了让我的问题更清楚,什么是<代码>步骤?它们是如何工作的? 编辑 由于有了这些答案,我可以更清楚地回答我的问题: 当我调用管道并作为步骤传递两个变压器和一个估计器时,例如: 当我叫它时会发生什么? 我不知道估计器是如何成为变压器的,变压器是如何安装的。