我想在 riot 标签中有条件地分配一个事件处理程序...所以我尝试了以下操作:
<ul>
<li class="email__ {active--: showEmail} {disabled--: !hasEmailMsg}"
onClick={hasEmailMsg: handlePreviewChange('email')}
></li>
<li class="mobile__ {active--: showMobile} {disabled--: !hasMobileMsg}"
onClick={hasMobileMsg: handlePreviewChange('mobile')}
></li>
</ul>
但它认为 hasEmailMsg
/hasMobileMsg
是回调函数...关于如何实现这个的任何想法?
最佳答案
没有使用过 Riot.js,但看起来您使用的不是普通的 JavaScript 三元语法。您是否尝试过如下语法:
<li class="email__ {active--: showEmail} {disabled--: !hasEmailMsg}"
onClick={hasEmailMsg ? handlePreviewChange('email') : doNothing }
></li>
doNothing
只是一个什么都不做的函数。 (假设这是您想要的行为)。
我不熟悉您的确切设置,但我尝试在此处使用 JSFiddle 进行简短演示:https://jsfiddle.net/jonahe/hfu52x0s/在那里我得到了三元函数来工作。您可能比我更有机会看到您的代码的相似之处。
关于javascript - 用于条件onClick事件的riot js三元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45846655/