Apabila saya menggunakan v-bind:style untuk menggunakan nilai dinamik, saya menghadapi masalah v-bind:style tidak berfungsi, tetapi saya pasti bahawa v-bind:style mendapat nilai yang betul (:style='{dalam konsol Warna : merah (sebarang nilai lain) }') dan css dalam bahagian gaya mencerminkan dengan jayanya. Mengapa tidak menggunakan v-bind? Ada idea? ? Terima kasih banyak-banyak.
<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]; } },
Sila semak coretan kod berikut, semuanya kelihatan baik:
Seperti yang dinyatakan di atas, anda harus menggunakan atribut
compulated
untuk gaya.Ini juga secara automatik akan mencerminkan sebarang perubahan pada prop.
Jika anda mempunyai syarat tertentu, anda juga boleh mengubah suai nilai berdasarkan nilai yang dikira dalam fungsi panggil balik. Saya telah menambah contoh Mod Gelap untuk menggambarkan pendekatan ini.
Kemudian gunakan
:style="style"
untuk menambahkannya pada div anda.Petua dari pihak saya. Daripada menggunakan pemerhati, saya akan menyumber luar kod untuk menetapkan warna dan mengikat kaedah itu kepada peristiwa yang mengubah warna. Ini boleh menjadikan aplikasi anda lebih fleksibel dan membersihkannya. Tetapi apa yang anda lakukan juga berkesan.