使用对象数组时,AngularJS ng-class添加[object Object]类
使用对象数组时,AngularJS ng-class添加[object Object]类
这个问题已经有了答案:
我试图把下拉列表项的所有样式合并到单个ng-class中,从而减少监视器的数量,特别是这样...
ng-class="[button.icon, {'disabled': button.disableCallback(), 'hidden':button.hiddenCallback()}]
如果下拉列表项有图标,它会给它添加一个按钮样式,同时如果它们适用,则定义禁用和隐藏样式。其中按钮图标可以是任何字符串,如“add-icon”“remove-icon”等。其它两个样式只是在回调为true时添加禁用或隐藏的CSS类。
但是,这样做,我看到类只被定义为object,如下所示...
class="[object Object]"
我认为它只是把第二个object{\'disabled\': button.disableCallback(),\'hidden\':button.hiddenCallback()}
作为样式添加,因为它是已经定义的,认为它是一个字符串?
有更好的方法吗?在ng-class中设置一个动态类(button.icon
),并基于回调添加这些条件类({\'disabled\': button.disableCallback(),\'hidden\':button.hiddenCallback()}
)?
admin 更改状态以发布 2023年5月21日
只使用三元运算符处理字符串可以解决我遇到的问题,不要混合使用对象和字符串。
ng-class="[button.icon, button.disableCallback() ? 'disabled' : '', button.hiddenCallback() ? 'hidden' : '']"
我认为这与ngClass页面上“已知问题”中的错误有关。