
解决方案:
1.在data里面申明一个属性,默认值最好为数字类型,并且不得大于当前元素+所有兄弟元素的length,可以默认为0(第一个元素选中)
2.在当前元素中添加动态class: “:class”,使用v-bind进行绑定
3.给元素点击事件,传入当前元素的index,把元素当前的index赋值给data里面的申明的属性,这样就可以点击实现该效果
一.首先给想要添加class的元素,通过v-bind绑定一个class
二.在data中声明一个变量activeClass
三.在点击事件中
四.在style里面写想要的样式就可以了
渲染结果: 当条件1成立时,html 元素会被赋予 classname1的样式;当条件2成立时,html元素会被赋予 classname2 的样式;当两个条件均成立时,则 classname1样式和 classname2样式均会被附上;
附上项目:
定制的公共 template 模板
样式 :写在公共模板中~~
在其他组件中调用
效果图:
1.动态绑定class
1.1 :class="{active:activeIndex==0}" active是类名,当activeIndex==0为true时,active起作用。
1.2 三目写法 : :class="[active==1?'样式1':'样式2']"
大体思路:声明一个初始变量currentIndex,为0 就是第一个,为1就是第二个默认显示。点击的时候传入的currentIndex=index
html:
js:
css:
延伸拓展:
同样道理的,点击父级,改变对应子集的class,要如何做呢~
html:
注意:由于是循环,所以在最外层要套个<div>
js:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)