我正在尝试将下拉项的所有样式合并到单个 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 页面的“已知问题”下的错误有关。
关于javascript - AngularJS ng-class 在使用对象数组时添加 [object Object] 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60604663/