gpt4 book ai didi

javascript - VueJS : v-bind:style only working conditionally in v-for

转载 作者:搜寻专家 更新时间:2023-10-30 22:15:08 25 4
gpt4 key购买 nike

使用 v-bind:style 在绑定(bind) color 时效果很好:

<p v-bind:style="{ color: '#' + tradingCardOption.BorderColorHex }">
{{ tradingCardOption.ColorSetName }}
</p>

但是,绑定(bind)到 background-color 不起作用:

v-bind:style="{ background-color: '#' + tradingCardOption.BorderColorHex }" 

也没有绑定(bind)到 border-top:

v-bind:style="{ border-top: 15px solid + '#' + tradingCardOption.CornerColorHex }"

是什么导致它如此有条件地工作?

<div v-for="tradingCardOption in tradingCardOptions">
<div v-bind:style="{ background-color: '#' + tradingCardOption.BorderColorHex}" class="color-swatch " v-bind:class="{'selected' : $index == 0}" v-on:click="selectTradingCardOption(tradingCardOption, $event)">
<div v-bind:style="{ border-top: 15px solid + '#' + tradingCardOption.CornerColorHex}"></div>
</div> {{ tradingCardOption.BorderColorHex}}
<p v-bind:style="{ color: '#' + tradingCardOption.BorderColorHex}"> {{ tradingCardOption.ColorSetName }}</p>
</div>

最佳答案

如果您使用不是有效标识符的键名,则必须正确引用对象键。所以 v-bind:style="{ background-color: '#' + tradingCardOption.BorderColorHex}"

必须是

v-bind:style="{'background-color': '#' + tradingCardOption.BorderColorHex}"

因为 background-color 不能用作对象属性键,除非用引号括起来。与 border-color 相同,它应该是:

{'border-top': '15px solid #' + tradingCardOption.CornerColorHex}

基本上,您需要确保解析器不会尝试将 - 字符解释为减号,然后认为 border 是一个变量。

关于javascript - VueJS : v-bind:style only working conditionally in v-for,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43918577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com