2
我有一個「菜單」的顏色,當用戶點擊其中一個div的,它應該添加一個活動類,並從其他div中刪除所有其他活動類...如何做我在VUE中這樣做?VueJS添加去除類點擊
<div class="choose-color__primary" style="width:400px">
<div class="light" v-on:click="selectColor($event)" :style="{'background-color': LightenDarkenColor(colors.primaryColor, 30)}"></div>
<div class="light" v-on:click="selectColor($event)" :style="{'background-color': LightenDarkenColor(colors.primaryColor, 15)}"></div>
<div class="light" v-on:click="selectColor($event)" :style="{'background-color': LightenDarkenColor(colors.primaryColor, 0)}"></div> <!-- This is the color the user has chosen from color wheel -->
<div class="dark" v-on:click="selectColor($event)" :style="{'background-color': LightenDarkenColor(colors.primaryColor, -15)}"></div>
<div class="dark" v-on:click="selectColor($event)" :style="{'background-color': LightenDarkenColor(colors.primaryColor, -30)}"></div>
</div>
我知道,我在selectColor()函數可以這樣做:
event.target.parentNode.classList.remove("active");
event.target.className = "active";
然而,就覺得有在VUE更好的方式比直接在此這個操縱DOM?
您可以使用:類VUE指令。也許你需要重構代碼。用v-for數組顯示div:[{class:'light | dark',active:true | false:background:number}] –