完整代码:

<template>

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  <div>

   <div class="rate">

     <p>星级:</p>

     <div class="star" v-for="(item,index) in stars" :key="index" @click="rating(index)">        <img :src="item.pic" alt="">      </div>    </div>   </div> </template> <script>  export default {    data(){      return{       stars:[         {pic:'../../../static/staroff.png',active:false},         {pic:'../../../static/staroff.png',active:false},         {pic:'../../../static/staroff.png',active:false},         {pic:'../../../static/staroff.png',active:false},         {pic:'../../../static/staroff.png',active:false}       ],       starNum:0;      }    },    methods{      // 星级评价函数      rating(index){       var total=this.stars.length;//星星总数       var idx=index+1;//代表选的第idx颗星星,也代表显示星星的数量       if(this.starNum==0){//表示页面是初始状态         this.starNum=idx;         for(var i=0;i<idx;i++){           this.stars[i].pic="../../../static/star.png";           this.stars[i].active=true         }       }else{         if(idx==this.starNum){//如果再次点击当前选中的星级,仅取消掉当前星级,保留之前的           for(var i=index;i<total;i++){             this.stars[i].pic="../../../static/staroff.png";             this.stars[i].active=false           }         }         if(idx<this.starNum){// 如果小于当前最高星级,则直接保留当前星级           for(var i=idx;i<this.starNum;i++){             this.stars[i].pic="../../../static/staroff.png";             this.stars[i].active=false           }         }         if(idx>this.starNum){// 如果大于当前星级,则直接选择到该星级           for(var i=0;i<idx;i++){             this.stars[i].pic="../../../static/star.png";             this.stars[i].active=true           }         }         var count=0;//计数器:统计当前有几颗星         for(var i=0;i<total;i++){           if(this.stars[i].active){             count++;           }         }         this.starNum=count;       }      }    }  } </script>    
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄