angular - 以不同方式调用 css 类时 ngClass 不起作用?
问题描述
我遇到了一个问题,更像是在使用 ngClass 指令时无法理解代码为什么/不起作用。我在 component.css 中有这个 css 类
.yellow-text {
color: yellow;
}
在 component.html 我有这个简单的段落,nameTest 是组件的一个属性,其值为“Testing”。
<p [ngClass]="{ yellow-text: nameTest === 'Testing' }">ASDASD</p>
除非我在黄色文本中添加 ' ',否则这不会编译。
<p [ngClass]="{ 'yellow-text': nameTest === 'Testing' }">ASDASD</p>
另一方面,如果我让 css 类看起来像这样
.yellowtext {
color: yellow;
}
我可以使用此代码。
<p [ngClass]="{ yellowtext: nameTest === 'Testing' }">ASDASD</p>
为什么?我错过了什么?很抱歉问这个问题,我可能错过了一些基本的东西。
解决方案
它不能在没有引号的情况下编译的原因,无论是单引号还是双引号,是因为ngClass
需要一个对象,并且在 Javascript 中,如果对象键只包含字符、数字和下划线,如果键具有特殊字符,则不需要引号,例如-
在您的情况下,您必须在它们周围加上引号。例如
{this is not valid: 'Not OK'}
不是有效的对象语法,要使其有效,请在键周围加上引号{'this is now valid': 'OK now'}
推荐阅读
- git - GIT:如何取消跟踪文件而不删除它?
- javascript - 关于在每次迭代时更新反应原生组件值并作为动画运行
- javascript - Laravel 中的 CKEditor 更新
- android - 如何在无线 ADB 期间保持屏幕开启(Android 11+)
- java - Java 锁定方法
- reactjs - 如何在 nextJs 中使用 redux-persist 库来持久化 redux 状态
- flutter - 如何在 sqflite 中插入条件
- r - GLM - 使用分类预测器运行简单线性回归时没有 R 平方输出
- apache-spark - 从 PySpark 检索 __TABLES__ 时 BigQuery 'INTERNAL: request failed: internal error'
- javascript - 如何调用 package.json 中基于 ES6 模块的异步 axios 函数?