当前位置: 首页 > Web前端 > vue.js

在Vue中,谁点击谁高亮,其他元素保持原来的风格

时间:2023-03-31 18:57:35 vue.js

每次写Vue的这个东西,都会让我想起以前写原生js的方式:el.onclick=function(){for(让i=0,len=items.length;i

data(){return{thisName:'',}},方法:{btnClick(e){this.thisName=e.target.name},},分析:类的样式绑定需要传入一个对象,对象的属性名就是类名,属性值需要为true或者false。当为true时,类名会显示在元素中,相应的样式也会被渲染。然后以true的值作为操作的考虑标准。这里我绑定了元素中的name属性,当然你也可以绑定后面可以获取到的其他属性,我绑定name属性的值作为循环中的索引,保证其唯一性。那么每个按钮在点击的时候都会默认传入一个事件对象。那么此时在事件回调函数btnClick中,我就可以通过e.target.name获取我在元素中绑定的name属性对应的值。这时候我只需要将name的值赋给data中的thisName,同时在元素中写上thisName==i即可。这时候如果我点击一个按钮,那么thisName必须等于i,才会触发高亮。这时候如果在btnClick中给thisName赋值之前打印thisName,你会发现每次点击不赋值,thisName都是上次的结果,这样你想高亮谁就高亮(比较两个数据时,i是唯一的,所以只有一个i与thisName比较返回true)