ul根据后台添加li,并在点击li时,颜色随之变化
Posted wzfwaf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ul根据后台添加li,并在点击li时,颜色随之变化相关的知识,希望对你有一定的参考价值。
在我们大多数时候都是通过<ul><li>...</li></ul>来实现同级的加载,但是也用很多时候li里的内容是不固定的。需要根据后台返回数据来生成。
下面来说一下在vue中这种形式的做法;
首先在html中的代码如下
<ul> <li v-for="item in classify" :key="item.id" :class="activeClass == item.id ? ‘active‘:‘‘" @click.stop.prevent="changeCify(item)"> {{ item.name }} </li> </ul>
classify为后台返回的集合。也可以自己在data里写。咱们为了演示效果所以在data中的return里写出来。如下所示:
return { activeClass: 1, classify: [{ id:1, name:‘共道‘ },{ id:2, name:‘个人代账‘}, { id:3, name:‘电商园区‘ },{ id:4, name:‘钉钉‘ }, { id:5, name:‘app‘ },{ id:6, name:‘官网‘ }, { id:7, name:‘阿里云‘ }, { id:8, name:‘阿里云市场‘ }], }
还有我们的点击时执行的函数,写在methods中;如下
changeCify(item){
this.activeClass = item.id;
console.log(item)
}
这样就全部完成了,包括了v-for 加载li,和点击方法 changeCify(item) 。和颜色的自动切换 :class="activeClass == item.id ? ‘active‘:‘‘" 。就是这些。希望对你有帮助
以上是关于ul根据后台添加li,并在点击li时,颜色随之变化的主要内容,如果未能解决你的问题,请参考以下文章
在HTML中如果在ul>li中添加子标签>a链接,修改li中字词颜色为啥a的字体颜色没有改变?
css如何修改<ul>中第二个<li>、第三个<li>的字体颜色
js 点击ul下面的其中一个li改变背景颜色 li其中一句:<li onclick="td(this)">第1个</li> 然后呢,js代码