vue,一路走来(15)--简单投票系统

今天记录一下简单的投票系统,主要实现选中至少五张作品,并提交投票。

思路:选中作品,将作品id存入到数组里。 取消投票,则从数组中移除该作品id。

如图效果:

 

 <li v-for="(opu,index) in opus">
    <router-link :to="{ name: 'voteDetail', params: { id: opu.id }}" :id="opu.id">
        <div class="opus-img">
           <img v-bind:src="opu.thumb" alt="">
           <span class="num-select">
              {{opu.votes}}票
           </span>
        </div>
        <div class="author clearfix">
            <ul>
                <li style="text-align:left;">{{opu.xingming}}</li>
                <li style="color:#5eb95e;font-size:14px;">{{opu.bianhao}}号</li>
                <li style="text-align:right;">{{opu.nianling}}</li>
            </ul>
        </div>
    </router-link>  
    <div v-bind:class="{btnSelectauthod:isInArray(resultgroup,opu.id)}" class="nobtn-select-authod"  @click="postSupport(opu.id)"><span v-if="!isInArray(resultgroup,opu.id)">{{textconfirm}}</span><span v-else>{{notextconfirm}}</span></div>
</li>
   // 判断数组是否有某个元素
isInArray(arr,value){
for(var i = 0; i < arr.length; i++){ if(value === arr[i]){ return true; } } return false; },
//选择作品投票按钮 postSupport(num){
this.group.push(num); this.resultgroup = []; var hash = {}; for (var i = 0, elem; (elem = this.group[i]) != null; i++) { // 排除重复元素 if (!hash[elem]) { this.resultgroup.push(elem); hash[elem] = true; }else{ // 清除指定元素 Array.prototype.removeByValue = function(val) { for(var i=0; i<this.length; i++) { if(this[i] == val) { this.splice(i, 1); break; } } } this.resultgroup.removeByValue(elem); hash[elem] = false; } }
// console.log(this.isInArray(this.resultgroup,'9529')) 是否存在9529 window.sessionStorage.setItem('resultgroup',JSON.stringify(this.resultgroup)) // console.log(sessionStorage.getItem('resultgroup')) },

 

转载于:https://www.cnblogs.com/juewuzhe/p/7885869.html

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值