vue-star评星组件开发
来源:互联网 发布:linux系统密码修改 编辑:程序博客网 时间:2024/05/17 10:28
star文件夹下建立Star.vue,及相关的图片信息。便于组件的就近维护
Star.vue:
<template> <div class="star" :class="starSize"> <span v-for="(itemClass,key) in itemClasses" :class="itemClass" class="star-item"></span> </div></template><script> const LENGTH = 5; const CLS_ON = 'on'; const CLS_HALF = 'half'; const CLS_OFF = 'off'; export default{ props:{ size:{ //尺寸,24,36,48 type: Number }, score:{ type: Number } }, computed:{ starSize(){ return 'star-'+ this.size; }, itemClasses(){ let result = []; let score = Math.floor(this.score*2)/2; //将数值调整为整数及.5的形式,例:4.3 => 4;4.6 => 4.5 let hasDecimal = score %1 !==0; let integer = Math.floor(score); for(let i =0;i<integer;i++){ result.push(CLS_ON); } if(hasDecimal){ result.push(CLS_HALF); } while(result.length<LENGTH){ result.push(CLS_OFF); } return result; } } }</script><style lang="stylus" rel="stylesheet/stylus">@import "../../common/stylus/mixin.styl";.star font-size: 0 .star-item display: inline-block background-repeat: no-repeat &.star-48 .star-item width: 20px height: 20px margin-right: 22px background-size: 20px 20px &.last-child margin-right: 0 &.on bg-image('star48_on') &.half bg-image('star48_half') &.off bg-image('star48_off') &.star-36 .star-item width: 15px height: 15px margin-right: 6px background-size: 15px 15px &.last-child margin-right: 0 &.on bg-image('star36_on') &.half bg-image('star36_half') &.off bg-image('star36_off') &.star-24 .star-item width: 10px height: 10px margin-right: 3px background-size: 10px 10px &.last-child margin-right: 0 &.on bg-image('star24_on') &.half bg-image('star24_half') &.off bg-image('star24_off')</style>
Header.vue:
<star :size="48" :score="3.5"></star><script>import star from '../star/Star.vue'export default{ components:{ star }}</script>
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 0
- vue-star评星组件开发
- 开发Vue树形组件
- Vue组件开发分享
- 开发 Vue 组件
- vue组件开发
- Vue组件开发实践
- vue.js组件开发
- Vue组件开发实践
- vue开发:vue全局组件的方法
- vue开发(一)组件化开发
- vue-cli开发vue项目1组件化开发
- 41.vue子集动态组件开发
- Vue.js组件化开发实践
- Vue入门之组件化开发
- Vue.js的组件化开发
- select demo 学习vue组件化开发
- Vue.js组件化开发实践
- Vue入门之组件化开发
- 深入浅出
- Android实现注册登录头像上传等功能常规开发(Android端,服务器端开发实例)
- linux 用户和组
- ActiveMQ使用RESTful API发送消息
- 可以设置颜色,并且底部横线与字体宽度一致的PagerSlidingTabStrip
- vue-star评星组件开发
- linux 权限管理
- matlab将某文件夹及其全部子文件夹路径添加为搜索路径的方法
- 实现点击按钮连接网页
- 工作日记(中兴软创 六)
- Android的硬件加速
- Ubuntu su 进不去root用户
- 【bzoj1143 CTSC2008】祭祀river(最大独立集--二分图匹配)
- button & input type="button"