javascript - AngularJS ng-class 在使用对象数组时添加 [object Object] 类

标签 javascript angularjs

我正在尝试将下拉项的所有样式合并到单个 ng 类中以减少观察者,特别是像这样......

ng-class="[button.icon, {'disabled': button.disableCallback(), 'hidden':button.hiddenCallback()}]

如果下拉菜单有图标,它会提供一个按钮,而且还定义禁用和隐藏样式(如果适用)。其中,button.icon 可以是任何字符串,如“add-icon”、“remove-icon”等。如果回调为 true,另外两个只是添加禁用或隐藏的 css 类。

但是,这样做时我看到类被定义为对象,例如......

class="[object Object]"

我认为这只是添加第二个对象 {'disabled': button.disableCallback(), 'hidden':button.hiddenCallback()}作为定义后的样式,认为它是一个字符串?

有更好的方法吗?在 ng-class 上设置动态类( button.icon ),并根据回调添加这些条件类( {'disabled': button.disableCallback(), 'hidden':button.hiddenCallback()} )

最佳答案

仅使用带有三元组的字符串可以解决我遇到的这个问题,而不是在 ng 类中混合对象/字符串。

ng-class="[button.icon, button.disableCallback() ? 'disabled' : '', button.hiddenCallback() ? 'hidden' : '']"

我相信这与 ngClass 页面的“已知问题”下的错误有关。

https://docs.angularjs.org/api/ng/directive/ngClass

关于javascript - AngularJS ng-class 在使用对象数组时添加 [object Object] 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60604663/

相关文章:

php - 如何检查今天的日期是否与PHP中的给定日期相同

javascript - svg文本元素内的不可见文本

javascript - 无法在一个 Angular Controller 中使用多个服务

cordova - 从相机加载图像内容到文件

javascript - 无法专注于 Bootstrap Carousel 中的输入字段

php - xml 到 json 到 JavaScript

javascript - 如何在angularjs2中重置表单状态

javascript - 在 Protractor 测试用例中使用属性

angularjs - 如何在AngularJS服务Jasmine测试中模拟$ http?

javascript - 在表中添加和删除行 [with input field]