vue.js - 如何根据多个值在 Vue.js 中选择类?
问题描述
我想选择一个元素的类基于importance
:
<strong> Importance:
<span :class="importance ? (calculate class here)">
</span> {{someText}}
</strong>
假设类 vlue 应该是imp0
, imp1
, imp2
, imp3
or imp4
,这取决于是importance
等于 0,1,2,3 还是 4。
您可能会问为什么不在方法函数中计算值?
答案是:保持类值与一个单独方法的结果同步,该方法importance
在类渲染后也作为输入参数。
所以想知道我怎样才能做到这一点?
更新:我设法用一个令人费解的三元条件来做到这一点:
:class="importance==0 ? 'imp0': (importance==1? 'imp1': (importance==2 ? 'imp2': (importance==3 ? 'imp3': 'imp4')))
但想知道是否有更干净的方法可以做到这一点?
解决方案
如果你的映射是直接的,你可以用简单的表达式让它去:
:class="'imp' + importance"
...但我强烈建议您至少将其视为技术债务。请记住,您可以在 CSS 选择器中使用任何属性,而不仅仅是类。
推荐阅读
- java - MCP940 反编译.bat 错误
- amazon-web-services - list-objects-v2 with --query and --max-items
- node.js - 说话不和谐的机器人
- r - 有没有办法让 R 计算我的 csv 文件以显示百分位数?
- pandas - 按字母顺序对字符串列的每个值进行排序
- python-3.x - 我得到了正确的输出,但我只想切片到前 5 个值请告诉我如何对相同的操作进行切片
- xml - 如何在经典 ASP 中将 XML 转换为 html?
- php - 在php中转换每个子数组的一项
- scala - Scala + Spark - 如何从“scala.collection.mutable.WrappedArray$ofRef”转换为我们的自定义对象?
- reactjs - 为什么 CSS 模块样式未应用于反应子组件列表中的第一个组件?