vue 解决v-for 循环列表生成不同背景颜色问题

vue 解决v-for 循环列表生成不同背景颜色问题

今天在做项目的时候我就遇到一个问题,效果图是这样的:

 

  • 这是一个表示楼层数的列表,根据不同建筑有不同的楼层,每一层楼都要有不同的背景颜色。

  • 要是一个一个的写楼层加背景太麻烦了。

  • 而且你根本没法写完,因为有多少了楼多少层你根本没法统计。

  • 在说了,身为一个合格的前端,怎么只能写那些死页面。

  • 下面给大家看一下,我是怎么实现的上面效果。

首先这是html代码

  <ul> 
     <li v-for="count in this.floor" 
     :key="count" :style="randomRgb(item)" > {{count}}F</li>
  </ul> 

用过style绑定一个函数如下:

randomRgb(item) {
        let R = Math.floor(Math.random() * 130+110);
        let G = Math.floor(Math.random() * 130+110);
        let B = Math.floor(Math.random() * 130+110);
        return {
          background: 'rgb(' + R + ',' + G + ',' + B + ')'
        };
      }

在里面可以设置颜色 Math.floor(Math.random() * 130+110) 这里面的数值可以自己改,来控制颜色的大体范围。最后通过 return 返回给 style

最上面这个 this.floor 是后端传过来的参数,你要是求简单可以自己在 data 里写一个。

就这样就实现了。

要是还有问题的可以留言联系我。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值