angular - 如何根据可观察对象设置角度垫按钮属性?
问题描述
我有以下代码:
<button mat-button [disabled]="offline() | async"
[textContent]="scanning() ? 'Stop' : 'Start'"
(click)="scanning() ? onScanStop() : onScanStart()">
</button>
两者offline()
并scanning()
返回Observable<boolean>
。
我不确定async
在 的情况下如何使用管道,scanning()
对于offline()
.
解决方案
新答案:
所以经过一些试验,我认为你不能阻止在你的后面 .ts 组件文件中添加一些代码。_scanning
我们将使用模板中调用的变量:
<button mat-button [disabled]="offline() | async"
[textContent]="_scanning ? 'Stop' : 'Start'"
(click)="_scanning ? onScanStop() : onScanStart()">
</button>
并在您的 .ts 文件中:
_scanning: boolean = null;
ngOnInit(): void {
this.scanning().subscribe(res => this._scanning = res);
}
老答案:
试试这个:
<ng-container *ngIf="scanning | async as _scanning">
<button mat-button [disabled]="offline() | async "
[textContent]="_scanning ? 'Stop' : 'Start'"
(click)="_scanning ? onScanStop() : onScanStart()">
</button>
</ng-container>
准备好scanning
后将可观察的结果存储在变量中,并像任何其他变量一样使用变量_scanning
_scanning
推荐阅读
- javascript - 在类型脚本中添加 SVG 内容时出错
- silverstripe - Silverstripe 4 在查询中获取草稿文件
- amazon-web-services - 使用 AWS EC2 CLI 检索 EC2 实例属性并展平输出
- excel - 重置按钮计数,以便在删除所有按钮后再次从按钮 1 开始
- swagger - Swagger,如何将对象属性放在界面中的单独字段中?
- c - C execvp 不会执行“ls -l”命令,但会执行“ls”
- ios - 我的视图控制器被保留(我认为),但我找不到强有力的参考
- presto - array_intersect 在 presto 中给出性能问题
- spring - 如何测试使用 Spring Boot 的应用程序 yml 资源文件设置?
- jquery - $.validator.unobtrusive.parse($('form')) 上的“Uncaught TypeError: Cannot read property 'parse' of undefined”