- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在上一个问题中 here ,我试图仅在日期在 2 条消息之间发生变化时才显示日期。
区别在于我现在连接到一个实时数据库 (Firebase),所以我订阅了数据源并在通过索引和 *ngIf 之前通过异步管道传递它:
<div *ngFor='let message of (chat | async) ; let i = index'>
<button *ngIf="i == 0 || (message.timestamp | date: 'ddMMMMyyyy') != ((chat | async)[i-1].timestamp | date: 'ddMMMMyyyy')">
{{ message.timestamp | date:'ddMMM' }}
</button>
...
<!--More html elements below (omitted)-->
...
</div>
这在我第一次加载 View 时效果很好,但是,如果我将新条目推送到 chat
中,我会收到以下错误:
TypeError: 无法读取 null 的属性“0”
也许我不太确定异步管道是如何工作的,但是当我尝试返回 {{ (chat | async).length }}
时,它按预期工作。关于解决方法/正确做法的任何建议?
最佳答案
万一其他人发现这个,因为它是第一个带有关键字的结果,我可以像这样用异步管道获得 *ngFor 的索引(假设 messages
是一个 Observable of一个可迭代的):
<div *ngFor="let message of (messages | async); let i = index;">
关于javascript - Angular2 : *ngFor, AsyncPipe 和索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37985108/
我一直在研究使用共享的dart包进行存储的工作,并遇到了一个有趣的问题。 我有一个基本上如下的业务逻辑对象: class HomeBloc { final Firestore _firestore
我试图根据 *ngIf 中可观察到的 isComplex$ 值来显示 header 之一: 问题是 *ngIf 与 else 情况一起使用,而不等待 observable 发出值。如何完成
用例:我定义了 CustomError像这样: interface { message?: string; i18nMessage?: string; } 我定义了 DisplayErrorP
我试图根据 *ngIf 中可观察到的 isComplex$ 值来显示 header 之一: 问题是 *ngIf 与 else 情况一起使用,而不等待 observable 发出值。如何完成
所以我有点搞砸了观察者,我不明白为什么返回 interval 的方法不能使用 AsyncPipe 显示观察者数据。 component.ts import {interval} from "rxjs"
我最近又在探索 TypeScript。它的主要限制之一似乎是无法键入函数组合。让我首先向您展示 JavaScript 代码。我正在尝试输入以下内容: const getUserById = id =>
我有函数 renderImagePreview()为我提供文件的字符串表示。显然,这个函数是异步的。 private renderImagePreview(file: File): Observabl
所以当我尝试从 firebase 获取数据时我得到了这个 Invalid argument '{"-KCO4lKzEJPRq0QgkfHO":{"description":"teste","id":1
通过查看 AsyncPipe 中的 the way change detection is implemented,如果 ChangeDetectorRef 分离(正如在 here 中也确认的那样。
我有一个 asyncPipe像这样的功能: export function asyncPipe( ab: (a: A) => MaybePromise ): (a: MaybePromise) =
我正在使用一个组件来渲染表格之类的数据,我给它列列表、数据、数据如何映射到每列,最后是一个应用于每列数据的管道列表。 到目前为止一切顺利,唯一的问题是当这些管道之一是异步管道时...... 经过一段时
如何在 ngFor 中使用 AsyncPipe 或者什么是完成对列表项的异步调用的最佳实践? 示例:假设我有一个产品订单,我想显示产品的制造商。但是制造商需要从存储(localstorage)加载才能
如何在 ngFor 中使用 AsyncPipe 或者什么是完成对列表项的异步调用的最佳实践? 示例:假设我有一个产品订单,我想显示产品的制造商。但是制造商需要从存储(localstorage)加载才能
在上一个问题中 here ,我试图仅在日期在 2 条消息之间发生变化时才显示日期。 区别在于我现在连接到一个实时数据库 (Firebase),所以我订阅了数据源并在通过索引和 *ngIf 之前通过异步
我正在尝试使用管道和 map 从 Observable 中提取一个字符串值,但我最后总是得到一个空字符串。我希望有人能帮助我理解这个问题背后的原因。 我有一个从后端获取文件的 http 服务: get
{{!!(result$ | async)}} 我希望它是空白然后显示 true .令人惊讶的是,它显示 false然后 true . {{}}是否有不同的评价机制和 *ngIf ? re
我有异步管道和观察者组合的问题。我一直在尝试创建一个带有“玩家”和 app.component 的 team.service,它将获取该数据。我收到以下错误: InvalidPipeArgument:
我知道有人问过这个完全相同的问题: InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe' / angularfire2 [duplic
我知道有人问过这个完全相同的问题: InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe' / angularfire2 [duplic
AsyncPipe 与 BehaviorSubject 配合使用,但我不想用空数据初始化我的服务,因此我使用 Subject intead。 问题是 NgFor 和 asyncPipe 不适用于 Su
我是一名优秀的程序员,十分优秀!