javascript - Angular:按钮文本插值不起作用
问题描述
我想获得与https://stackoverflow.com/a/49680194类似的结果,但在我的情况下它不起作用。唯一的区别是boolean
可变的。你能解释一下我做错了什么吗?
在代码清单下方:
export class SomeComponent {
enabled: boolean = false;
toggle() {
if(this.enabled === true) {
this.enabled = false;
} else {
this.enabled = true;
}
}
}
和html模板:
<button (click)="toggle()">{{enabled}}</button> <!-- updates only one time (false -> true) -->
<div>{{enabed}}</div> <!-- works correctly -->
解决方案
我试过你的案子,你是对的,这很奇怪。
也许它按字面意思对待它boolean
,而不是你想按原样显示价值。
您可以通过将其转换为 来扭转它string
,例如:
<button (click)="toggle()">{{enabled + ''}}</button>
它对我有用。
顺便说一句,您可以将toggle
功能简化为:
toggle() {
this.enabled = !this.enabled;
}
推荐阅读
- nginx - Istio 中 Nginx auth_request 模块(子请求)的任何替代品?
- python - 使用 multiprocessing.Manager 在进程之间共享列表
- python - Python找不到文件
- javascript - 最常见的音频音量范围模式
- python - 执行朴素贝叶斯和决策树分类时出现 KeyError
- debezium - 可以使用 Debezium 将更改直接提交到另一个数据库吗?
- linux - 如何在“exec &”生成的输出之前加上 linux bash 脚本中的时间/日期?
- excel - Access 和 VBA:在导入期间将日期添加到一列的所有值
- android - 在 Android 上使用 localhost http 打开 doc/dox/xsl/xslx/txt 文件
- javascript - css - 如何使 flex-item 以 1:1 的比例调整大小并且 flex-container padding-left 和 padding-right 总是相同的