vue根据v-for的index渲染class的方法

以前使用vue的列表渲染时,总会纠结如何把index插入给各个class,从而进行类名排列,现在给大家介绍个方法,举例:

// 列表数据
peopleArr: [
    "张三",
    "李四",
    "王五"
];

这个列表使用v-for放入标签中十分简单:

<ul>
    <li v-for="(item,index) in peopleArr" :key="index">{{item}}</li>
</ul>

OK,搞定了。
但现在有个需求,我想按照数组peopleArr的index,给所有的li标签添加类名,分别为li01、li02、li03,那该怎么办呢?
直接上代码:

<!--template中的ul、li标签-->
<ul>
    <li v-for="(item,index) in peopleArr" :key="index" :class="generateClassName(index)">{{item}}</li>
</ul>

// JS中的methods
export default{
    ...
    methods: {
        generateClassName(index){
            return "li0" + (index+1);
        }
    }
}

通过对class进行v-bind,然后以generateClassName方法返回数值的形式来产生类名,这样我们就可以在视图中看到li01、li02、li03了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 10,488评论 0 29
  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 9,071评论 0 6
  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 12,118评论 0 25
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 6,725评论 0 6
  • 相关概念 混合开发和前后端分离 混合开发(服务器端渲染) 前后端分离后端提供接口,前端开发界面效果(专注于用户的交...
    他爱在黑暗中漫游阅读 7,991评论 4 45

友情链接更多精彩内容