这里使用星星评分的位置是header组件,以此为例。
header.vue中代码,无关代码已经省略。

<template><div class="detail-wrapper clearfix"><div class="detail-main"><h1 class="detail-name">{{seller.name}}</h1><star :size="48" :score="seller.score"></star>//引入star组件,并传入参数size和score</div></div>
</template>
<script type='text/ecmascript-6'>
import star from '../star/star'components: {star//ES6缩写,实际为'star': star},
</script>

star.vue中的内容:

<template><div class="star" :class="starType">//starType表示不同星星尺寸下的类,这里因为有3种星星尺寸。<span v-for="(itemClass,index) of itemClasses" :key="index" :class=itemClass class="star-item"></span>//itemClass表示一颗星的状态,itemClasses表示这个状态数组的合计,通过v-for遍历来实现此功能。star-item用于设置样式。</div>
</template><script type='text/ecmascript-6'>
const LENGTH = 5//常量定义便于以后的代码扩展,例如10星等。
const CLS_ON = 'on'
const CLS_HALF = 'half'
const CLS_OFF = 'off'
export default {props: {size: {//size从父组件header里面传入,决定尺寸type: Number},score: {//score从父组件header里面传入,决定星星数量type: Number}},data () {return {}},components: {},computed: {starType () {return 'star-' + this.size//返回starType的值,表示不同尺寸下的star类。star类与size相关联。},itemClasses () {let result = []let score = Math.floor(this.score * 2) / 2let hasDecimal = score % 1 !== 0//判断是否有半星let integer = Math.floor(score)for (let i = 0; i < integer; i++) {result.push(CLS_ON)}if (hasDecimal) {//判断是否有半星,hasDecimal存在则有,不存在则无。result.push(CLS_HALF)}while (result.length < LENGTH) {//如果不足5颗实星,剩余的位置补上off星星。result.push(CLS_OFF)}return result}},methods: {}
}</script>
<style lang='stylus' rel='stylesheet/stylus'>
@import '../../common/stylus/mixin.styl'
.starfont-size: 0.star-itemdisplay: inline-blockbackground-repeat: no-repeat&.star-48.star-itemmargin-right: 22pxwidth: 20pxheight: 20pxbackground-size: 20px 20px&.last-childmargin-right: 0&.onbg-image('star48_on')&.halfbg-image('star48_half')&.offbg-image('star48_off')&.star-36.star-itemmargin-right: 6pxwidth: 15pxheight: 15pxbackground-size: 15px 15px&.last-childmargin-right: 0&.onbg-image('star36_on')&.halfbg-image('star36_half')&.offbg-image('star36_off')&.star-24.star-itemmargin-right: 3pxwidth: 10pxheight: 10pxbackground-size: 10px 10px&.last-childmargin-right: 0&.onbg-image('star24_on')&.halfbg-image('star24_half')&.offbg-image('star24_off')
</style>

记得提前将对应图片当道组件所在文件夹中便于就近维护。

mixin.styl中的自适应背景图代码为:

bg-image($url)background-image: url($url+"@2x.png")@media (-webkit-min-device-pixel-ratio: 3),(-min-device-pixel-ratio: 3)background-image: url($url+"@3x.png")

星星评分系统代码模板。相关推荐

  1. 制作简单的星星评分案例

    首先在自己的电脑桌面打开 Visual Studio Code ,第二步打开进去后创建个新的画布, 第三步敲出这些代码,最后把鼠标移到五角星上(鼠标移入的效果) 源代码如下: <!DOCTYPE ...

  2. 【Flutter从入门到实战】⑪、豆瓣案例-1、星星评分Widget、虚线Widget、TabbarWidget、BottomNavigationBarItem的封装、初始化配置抽取

    Flutter从入门到实战 一共分为23个系列 ①(Flutter.Dart环境搭建篇) 共3个内容 已更新 ②(Dart语法1 篇) 共4个内容 已更新 ③(Dart语法2 篇) 共2个内容 已更新 ...

  3. 使用 HTML CSS 和 JavaScript 创建星级评分系统

    各位读者好,今天在本博客中,您将学习如何使用 HTML CSS 和 JavaScript 创建星级评分系统 (Widget).早些时候,我还分享了一篇关于Star Rating Widget 的博客, ...

  4. 源码推荐:仿写映客直播 ,快速切换主题 ,星星评分控件,表格样式,可以横向移动的表格, 仿微信键盘-

    仿写映客直播(上传者:五仁月饼) 工作之余写的,基于IJKPlayer播放,对内存做了处理.目前已完成直播列表和直播间的搭建,后续还会慢慢完善. 项目地址 publishImageAndVideoAn ...

  5. Node项目之评分系统(一)- 基本介绍

    最近半个月,一直在学习Node的Web开发,使用的Web的框架为express,模版引擎最后还是选用了ejs,相对于jade不需要学习新的语法规则,并且方便粘贴一些HTML代码片段,减轻了前端设计的好 ...

  6. apache评分表的意义_APACHE评分系统及评分表

    <APACHE评分系统及评分表>由会员分享,可在线阅读,更多相关<APACHE评分系统及评分表(2页珍藏版)>请在人人文库网上搜索. 1.APACHE评分系统急性生理学及慢性健 ...

  7. angular 指令渲染_Angularjs渲染的 using 指令的星级评分系统示例

    本文介绍Angularjs渲染的 using 指令的星级评分系统示例,分享给大家,具体如下: 我试图创建静态使用 angularjs/离子成效甚微的星级评分系统.但目前什么都不输出到屏幕上...... ...

  8. 业界 | 裁判太嚣张?平昌之后,奥运会评分系统将引入AI技术

    平昌奥运会期间,在人类选手角逐较量的同时,八只机器人队伍也获得了参赛资格.2月12日,首届人形机器人滑雪锦标赛在威里山公园滑雪场开幕,这些装备传感器的8台机器人顺利完成比赛,给世界观众留下了深刻的印象 ...

  9. JS实现星星评分功能实例代码(两种方法)

    转载自   JS实现星星评分功能实例代码(两种方法) 一.方法1 1.用到图片 2.结构和样式 <!DOCTYPE html> <html lang="en"&g ...

最新文章

  1. android系统各个输出log对应层次文件
  2. nginx的error.log日志常见的几个错误解决方法
  3. 【五线谱】拍号与音符时值 ( 全音符 | 二分音符 | 四分音符 | 八分音符 | 十六分音符 | 三十二分音符 )
  4. entity framework5 sqlserver2005 事务(TransactionScope)报未启用MSDTC错误解决办法
  5. include和require区别
  6. 前亚马逊中国总裁王汉华出任好耶CEO
  7. java中spring的注解_Java代码中spring注解浅析
  8. 图书管理系统源代码<Java>(带文字讲解)(javase)
  9. 计算机教室管理使用规则,多媒体教室使用管理细则
  10. 水域大小 Java_我的世界:Java版开发者们畅聊水域更新
  11. 帮助文档.chm能打开但是显示不出来详细内容
  12. 三星s8怎么分屏操作_一心三用 三星Galaxy Z Fold2 5G成多任务处理大师
  13. 上海千锋培训python
  14. 智慧水利信息化系统解决方案
  15. Windows10 调整屏幕颜色,设置暖色屏幕的办法
  16. 量子有什么特性计算机,量子是什么、量子具有什么特性、又有什么作用?
  17. 未来的全能保姆机器人作文_保姆机器人作文300字共5篇
  18. ML之LoR:基于信用卡数据集利用LoR逻辑回归算法实现如何开发通用信用风险评分卡模型之以toad框架全流程讲解
  19. 寒食 —— [当代] 光剑
  20. 时间日期格式化(xxx之前)

热门文章

  1. 用C语言实现贪吃蛇笔记1-------.wav格式音乐的添加及播放(方法一:嵌入到可执行文件里面)
  2. oracle数据库system01,system01坏块的问题
  3. 【性能优化】MySQL性能优化之存储引擎调优
  4. 何学林:房价为什么降不下来?房价上涨的刚性是由强大的利益共同体共同作用的结果(原创首发,深度好文)——何学林房地产大策划之十四
  5. uart驱动框架及编程方法
  6. Windows使用笔记_Windows xp之开机启动项设置
  7. 计算机中的用户内存容量,按照 《2010 通则 》 ,以 CIF 汉堡条件成交,卖方对货物风险应负责...
  8. UE4蓝图节点翻译--- Get All Child Actors
  9. 计算机学院华北科技学院考研,2019年华北科技学院硕士研究生招生拟录取名单公示...
  10. SpringBoot+Vue实现前后端分离在线视频点播系统