Class, classNames, classBindings, classNameBindings

Ember uses, in various places, class, classNames, classBinding, and classNameBindings. If you use them all together, as seen in this Fiddle, all but classBinding are applied. All four are mentioned in the view guides.

I understand why there’s a preference for class in templates: it makes it feel more like bare HTML.

I understand why it’s classNames and not class in views: class is a reserved keyword.

Still, it seems like these inconsistencies could at least be reduced. If nothing else, we could merge classBinding and classNameBinding. I, for one, would also change class in templates to classNames, like in the views, leaving just classNames and classNameBindings everywhere.

4 Likes

Seems worth normalizing this. We’d need to maintain backwards compatibility and make sure there were no other unexpected complications.

2 Likes