通过类名遍历评分星星

news/2024/7/10 2:35:07 标签: js, vue

在只显示评分及星星的时候,如果有金色、半金以及无色的⭐图案,而此时要遍历出一个数据,就要实现这个算法。

假如当前评分是3.5,那么就会有三个全金,一个半金,一个无色的星星。

实现

将评分提取成可复用的组件,三种形状的星星用类名来区别开,此时只需要循环组件就能实现星星的显示。

创建一个数组,数组内装有5个类名,组件通过遍历数组中的类名来添加该样式的星星

export default {
	props: {
		score: Number // 评分
	},
	computed: {
		starClasses () {
			const {score} = this
			const scs = []
			// 向scs中添加n个ON
			const scsInt = Math.floor(score)
			for (let i = 0; i<scsInt; i++) {
				scs.push(ON)
			}
			// 向scs中添加0/1个HALF
			if (score*10 - scsInt*10 >= 5) {
				scs.push(HALF)
			}
			// 向scs中添加n个OFF
			while (scs.length<5) {
				scs.push(OFF)
			}
			return scs
		}
	}
}

当传来的score值为3.3时,计算属性startClasses就会向scs中添加3个ON,1个HALF,1个OFF,这三种类名分别对应三种状态图片,在组件中遍历startClasses 向其中动态添加类名即可

<span v-for="(sc, index) in startClasses" :class="sc" :key="index"></span>

http://www.niftyadmin.cn/n/1834367.html

相关文章

关于 ccflow 系统演示与学习环境发布的通知

为什么80%的码农都做不了架构师&#xff1f;>>> 关于 ccflow 系统演示与学习环境发布的通知 http://hi.baidu.com/ccflow/blog/item/ad374734ac8fe80e90ef39ac.html 转载于:https://my.oschina.net/ccflow/blog/39980

C#耗时操作防界面卡死

1.1首先定义一个委托&#xff0c;该委托指向的方法就是要执行耗时长的操作public delegate string mydelegate(int num);1.2定义异步完成时回调的函数&#xff1a;private void callBackMethod(IAsyncResult result){/*由于已经在调用BeginInvoke传递的最后一个参数是回调委托…

hbase条件查询

一、环境 HBase版本hbase-0.20.5&#xff0c;Hadoop的版本hadoop-0.20.2&#xff0c;JDK1.6 二、需求背景 在HBase中&#xff0c;进行条件查询&#xff0c;很多的文件都说过&#xff0c;但是大多数都是在说明如何设置合理的表结构以及如何设置rowkey进行查询检索&#xff0c;这…

postgresql集群方案hot standby初级测试(一)——模拟集群状况

上次安装了集群后&#xff0c;一段时间没有时间写个测试文章&#xff0c;今天有空就写了篇初级测试的文章&#xff0c;如果大家还想知道不同情况下postgres集群的处理方法&#xff0c;可以留言给我&#xff01;&#xff01;&#xff01; 本文来自&#xff1a;http://blog.csdn.…

指定maven仓库的地址

maven的本地仓库默认是在~/.m2/repository下的&#xff0c;是否可以修改它的默认位置呢&#xff1f; 在~/.m2/repository目录下新建一个settings.xml文件&#xff0c;加入一行代码即可搞定 <localRepository>D:/work/repository/</localRepository>

js判断手机访问网站自动跳转到手机版

<script src"http://siteapp.baidu.com/static/webappservice/uaredirect.js" type"text/javascript"></script><script type"text/javascript">uaredirect("你的手机版网址");</script>转载于:https://www.c…

解决PHP的include带参数的问题

2019独角兽企业重金招聘Python工程师标准>>> php的include可以载入一个外部php文件&#xff0c;其参数是一个文件名&#xff0c;既然是文件名&#xff0c;网络营销培训就不能带参数了。 php中&#xff0c;如果include载入的文件一定要带参数&#xff0c;就只有一种办…

HTML+JS+JQuery不可以使用status

可能是JQuery的内部定义了status的原因&#xff01;在HTML中的元素如果声明了ID为status的话&#xff0c;脚本中是不能访问这个对象的&#xff0c;会成为一个字符串对象。转载于:https://www.cnblogs.com/fyter/p/3948845.html