时间:2021-04-02 09:44:59 | 栏目:vue | 点击:次
最近使用vue需要实现一个点餐选择商品规格的页面,需要通过vue动态的给被点击的元素添加class名字,使其变色,其他的删除class。如图:
开始在网上找了许多办法发现不是太好用,最后找到一个发现还是不错的,记录一下
html:
<div class="weui-mask" id="guige"> <div class="guigeBox"> <p class="guigeTitle">{{guigeName}}</p> <p class="guigeP guigeP01">规格</p> <div class="indexGuiGe"> <span v-for="value,index in guigeList" v-on:click="guige(index)" v-bind:class="{on:index==guigeSpan}">{{value.guige_name}}</span> </div> <p class="guigeP">口味</p> <div class="indexKouwie"> <span v-for="value,index in kouweiList" v-on:click="kouwei(index)" v-bind:class="{on:index==kouweiSpan}">{{value.guige_name}}</span> </div> </div> </div>
script:
var guige=new Vue({ el: '#guige', data:{ guigeSpan:"-1", //控制点亮状态 -1为默认不点亮 kouweiSpan:"-1", //控制点亮状态 }, methods:{ guige:function(index){ //当点击时候点亮,同级的span标签删除Class this.guigeSpan = index; }, kouwei:function(index){ this.kouweiSpan = index; }, } })
总结