问题标签 [async-pipe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - What is the best practice to change a single object in Angular component in a reactive way
Assuming I have an http request to get users:
I subscribe to this observable using async pipe in my template:
I want to change an email of a single user with another http request, but keep a single subscription. The problem is that the http request that changes the email hasn't been defined at the point I created users$
observable.
what I did is:
As you can see I subscribe to update_user
using toPromise()
. I can not combine this request ahead since it is not defined until it is requested.
I have been searching all over the internet but couldn't find an agreed best practice.
How do you think it should be done?
Thanks
angular - ngIf Async Pipe 作为值,只有空检查
我有一个可观察对象,我想在 ngIf 中创建一个变量,并且仅在值为 null 时返回 false(可观察对象返回一个数字)
我需要明确检查 null 因为我的 observable 可以返回 0 作为触发 else 块的值。
我试过以下
我目前看起来不太优雅的解决方案是
我正在使用 Angular 10。
angular - 行为主题不会在更改 Async Angular 10 时更新
我有一个Observable
在我的组件中显示的列表。但是当我通过后端更新列表时,列表不会async
在我的组件视图中更新..
我的服务(存储列表的位置):
component
(我显示列表的地方)
我在更新列表(创建新项目)时调用此方法(来自服务的方法):
但是我仍然需要刷新页面才能看到更改
angular - 角度异步管道不适用于图像源更新
在这个 Angular 组件中,我得到一个可观察的用户对象,我尝试在 NgInit 上验证是否定义了个人资料图片 URL。如果没有,我想为此设置一个占位符。但由于某种原因,我在 ngOnInit 中所做的更改为时已晚。图像源设置不正确,因此结果是显示替代文本。我认为异步管道将帮助我在新设置时获取图像?有人可以帮助我更好地理解这种情况吗?:)
在 HTML 中,我只是用异步管道调用用户个人资料图片。
这就是我得到的user$
,它来自 UserProfileData 的对象:
angular - 如何将元素推送到可观察和更新 UI
有人可以帮我解决这个问题吗?我开始学习 angular8 中的 observables 和异步管道。
我正在尝试向我的 observable 添加一个元素并更新我的 UI。此刻我有这个,它在我的数组的开头和结尾添加了我的元素。我究竟做错了什么?
在我的组件中:
服务:
angular - 错误:InvalidPipeArgument:管道“AsyncPipe”MatTable Angular 11 的“[object Object]”
我正在尝试将 Angular MatTable 与异步管道一起使用。我从 RESTAPI 获取数据作为 Observable。但是,当我以这种方式使用 ([dataSource] = "dataSource | async") 时,我得到了上面提到的错误。
存储库.service.ts:
联系人.component.ts:
联系人.component.html:
错误
这是屏幕截图。正如您在右下角看到的那样,数据被提取但未处理到表中。
任何人都可以帮助解决这个问题吗?
angular - 为什么在带有异步管道的 Angular 模板中未检测到 Subject.next () 发射?
有以下代码,我想知道为什么 Subject.next(1)
在模板中看不到发射,而BehaviorSubject.next()
发射是可见的。
我知道将它包裹在里面可以setTimeout()
修复它,但我想理解它。
我似乎Subject.next()
是同步的,async
管道没有接收/标记检查。
https://stackblitz.com/edit/angular-ivy-crnfgc?file=src/app/app.component.ts
angular - 我可以使用异步管道将 observable 解包到视图变量而不是使用 ngIf 吗?
我知道我可以使用*ngIf="obs$ | async as obs"
,但是如果我需要在 obs 为 false 时使用该值怎么办?
https://stackblitz.com/edit/angular-zkbemb?file=src%2Fapp%2Fapp.component.html
我希望该行读取 observable 是错误的,而不是块消失。我知道我可以使用 else 块,但我需要将readonly$
标志解包到视图变量readonly
,并且不想在 else 块中重复我的整个模板。我想不出任何不涉及订阅组件的方式,但这并不是唯一一个发现自己想要在模板中使用的方式#boolFlag = boolObs$ | async
angular - 异步管道传递的角度输入数据在子组件中为空,但在父组件中不为空
我有一个奇怪的案例,我无法通过并且不知道它是如何发生的,所以我在SiteComponent
这里命名了父组件打字稿逻辑:
这里是模板文件代码:
如您所见,它由几个子组件组成,这些子组件依赖于异步管道,图表工作完美,但表格存在问题。
table.ts
在这里我收到一个错误,因为console.log(this.tableData)
返回 null,但是 tableData 永远不会为 null,siteTemplate$
因为我通过添加 tap 并记录这个值来检查它,它总是显示为对象。
angular-ng-if - 当我订阅它时,带有 observables 的 ngif 不起作用
我只想在另一个组件中发生某些事情时才在组件中显示段落的文本,为此我使用中间服务来捕获该内容的值。
cabecera.component.html
cabecera.component.ts
}
情况是,尽管从historyo.component 我双击grig 并且mostrarHistorico 的值为true,因此它们登录到cabecera.component,但ngIf 没有完成它的工作,它总是对我隐藏段落。
有什么想法吗?
谢谢