解决方案:
1.在data里面申明一个属性,默认值最好为数字类型,并且不得大于当前元素+所有兄弟元素的length,可以默认为0(第一个元素选中)
2.在当前元素中添加动态class: “:class”,使用v-bind进行绑定
3.给元素点击事件,传入当前元素的index,把元素当前的index赋值给data里面的申明的属性,这样就可以点击实现该效果
一.首先给想要添加class的元素,通过v-bind绑定一个class
二.在data中声明一个变量activeClass
三.在点击事件中
四.在style里面写想要的样式就可以了
vue-点击当前路由增加class,其他的删除class的方法1. 路由 *** 作
<router-link
to='/list'
v-for='(item,index) in list'
:class='{active:index==idx}'
@click='btnClass(index)'
>
2. js部分
data () {
return {
idx:0,
list:["推荐",'社会','热点','汽车','科技','财经','军事','体育']
}
},
methods: {
btnClass: function(index) {
this.idx = index
}
} (BY三人行慕课)
一组li,这个li不是v-for出来的。是直接写死的。为什么不用v-for,li里面的结构不一样,
给所有的li添加点击事件 tanchu(),给点击的当前li添加一个class;
现在点击之后所有的都会添加这个class;
Vue.js(读音 /vjuː/, 类似于view)是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)