You can add a helper method to your Mithril component:
const myComponent = { css() { // Add some logic return 'class1 class2'; }, view() { return m('div', { class: this.css() }); }, };
Or to the controller:
const ctrl = { css() { // Add some logic return 'class3'; }, }; const myComponent = { view() { return m('div', { class: ctrl.css() }); }, };
Choose the one that best suits your business.
You can also use the classnames utility, as Ross Hanas suggested in his answer:
const myComponent = { css() { return classNames({ invalid: ctrl.invalid(), focused: ctrl.focused(), }); }, view() { return m('div', { class: this.css() }); }, };
Or:
const ctrl = { css() { return classNames({ invalid: this.invalid(), focused: this.focused(), }); }, invalid() { }, focused() { }, }; const myComponent = { view() { return m('div', { class: ctrl.css() }); }, };
source share