Als ich v-bind:style zur Verwendung dynamischer Werte verwendet habe, stand ich vor dem Problem, dass v-bind:style nicht funktionierte, aber ich bin mir sicher, dass v-bind:style den richtigen Wert (:style='{in der Konsole) erhalten hat Die Farbe : rot (jeder andere Wert) }') und das CSS im Abschnitt „Stil“ werden erfolgreich wiedergegeben. Warum nicht V-Bind verwenden? Irgendwelche Ideen? ? Vielen Dank.
<div class="l-modal" v-if="modalVisible1"> <div class="p-modal" @click="hide_modal" :style='{ color : titleColor1 }' ref="test"> <p>{{titleTxt1}}</p> <p>{{contentTxt1}}</p> <p>{{endTxt1}}</p> <button class="p-modal__btn">{{buttonTxt1}}</button> </div> </div> <div class="l-modal__bg" v-if="modalBgVisible1" @click="hide_modal"></div>
data () { return { selected_title_color1:'', titleColor1:'', colors:['紅色','藍色','黃色','粉色','土地色','水藍色','灰色','淺綠色','橙色'], colors_dic:{紅色:'red',藍色:'blue',黃色:'yellow',粉色:'pink',土地色:'blawn',水藍色:'aqua',灰色:'gray',淺綠色:'palegreen',橙色:'orange'}, } }, watch:{ selected_title_color1: function () { this.titleColor1 = this.colors_dic[this.selected_title_color1]; } },
请检查以下代码片段,看起来一切正常:
如上所述,您应该使用
compulated
属性作为样式。这也会自动反映道具的任何变化。
如果您有某些条件,您还可以根据计算的回调函数中的值修改这些值。我添加了一个暗模式示例来阐明这种方法。
然后使用
:style="style"
将其附加到您的 div。我这边的提示。我将外包用于设置颜色的代码并将该方法绑定到更改颜色的事件,而不是使用观察器。这可以使您的应用程序更加灵活并清理它。但您的做法也有效。