我是mithril.js的新手.我有一个div,如果ctrl.invalid()== true,我想添加类"invalid",如果ctrl.hidden()== true,我想添加"hidden".
如果我使用m('div', {class: ctrl.invalid() ? 'invalid' : '', class: ctrl.hidden()? 'hidden' : ''}),他们会互相覆盖.
我可以使用m('div', {class: [ctrl.invalid()?'invalid':'', ctrl.focused()?'focused':''].join(' ')})它,它会工作,但它看起来很乱.
有一个优雅的解决方案吗?谢谢.
我建议您使用类名- 一个简单的实用程序。你可以用一种很好的方式定义你的类,它会为你合并所有的东西。在您的情况下,它将是:
const myMergedClasses = classNames({
invalid: ctrl.invalid(),
focused: ctrl.focused()
});
m('div', { class: myMergedClasses })
Run Code Online (Sandbox Code Playgroud)
美丽的?!