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的字体颜色没有改变?

关于 li 点击变色的问题,可用JS来解决。

Jquery如何给ul下每个li都加上点击事件

css如何修改<ul>中第二个<li>、第三个<li>的字体颜色

求ul中的li布局CSS布局,横向垂直都要居中,如何实现?

js 点击ul下面的其中一个li改变背景颜色 li其中一句:<li onclick="td(this)">第1个</li> 然后呢,js代码