zoukankan      html  css  js  c++  java
  • 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':''" 。就是这些。希望对你有帮助

  • 相关阅读:
    软工个人项目
    软工第一次个人博客作业
    软工第一次热身作业
    OO第四单元作业总结
    OO第三单元作业总结
    2019-oo-第二次总结
    提问回顾与个人总结
    Github Actions 实践
    北航软工结对项目
    北航个人博客作业-软件案例分析
  • 原文地址:https://www.cnblogs.com/wzfwaf/p/11755235.html
Copyright © 2011-2022 走看看