这个表达在Vuejs中意味着什么?
:class="{ expr1: expr2}"
它似乎是一个真值表达式,但Javascript中是否有二进制真值运算符?
答案 0 :(得分:4)
这是Vue中类绑定的object syntax。如果expr2
是truthy值,则Vue会将类expr1
添加到元素中。
:class
是v-bind:class
的{{3}}。
如果该表达式位于div
上,例如,
<div :class="{expr1: expr2}"></div>
然后,如果expr2
真实,则渲染的输出将是
<div class="expr1"></div>
修改强>
Truthy值通常是javascript混淆和错误的原因。但是,您可以使用shorthand来确保您拥有true
值。
:class="{expr1: true === expr2}"
这样可以避免expr2
可能真实而不是true
的情况。
答案 1 :(得分:2)
它是一个类绑定,这意味着当expr2真实时节点将获得类expr1。
阅读:Example