vue-star中怎么實(shí)現(xiàn)一個(gè)評(píng)星組件,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
梁平網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,梁平網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為梁平上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的梁平做網(wǎng)站的公司定做!
star文件夾下建立Star.vue,及相關(guān)的圖片信息。便于組件的就近維護(hù)
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; //將數(shù)值調(diào)整為整數(shù)及.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')
關(guān)于vue-star中怎么實(shí)現(xiàn)一個(gè)評(píng)星組件問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
本文標(biāo)題:vue-star中怎么實(shí)現(xiàn)一個(gè)評(píng)星組件
網(wǎng)址分享:http://aaarwkj.com/article34/jjggpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、微信小程序、App開發(fā)、標(biāo)簽優(yōu)化、搜索引擎優(yōu)化、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)