在我们大多数时候都是通过<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':''" 。就是这些。希望对你有帮助