vue鼠标移入显示点赞图标,移出隐藏点赞图标,现在我想点击点赞图标,鼠标移出不会隐藏图标,怎么做?

<template>

<div class='cell reply_area reply_item' v-for="(c, i) in comment_list"                         
@mouseover="showLike(i)"  @mouseleave="hideLike(i)">
   <a href='javascript:void(0);' class='reward_reply_btn' reply_id=''>
      <img class="like" :src="c.like" title="点赞" v-show="c.likeOne"
           @click="likePoint(i)"/>{{c.like_count}}
  </a> 

</template>

<script>
export default {
name:'aaa'
data(){

return{
  comment_list:[{
      id:1,
      likeOne: false,    //鼠标移入移出显示隐藏点赞
      likeBox: false,    //点赞数取反
      like_count: '',    //赋值点赞数
    },
    {
      id:2,         
      likeOne: false,    //鼠标移入移出显示隐藏点赞
      likeBox: false,    //点赞数取反
      like_count: '',    //赋值点赞数
    },
    {
      id:3, 
      likeOne: false,    //鼠标移入移出显示隐藏点赞
      likeBox: false,    //点赞数取反
      like_count: '',    //赋值点赞数
    },
  ]   
}

},
methods: {

// 鼠标移入显示点赞
showLike(i){
  this.comment_list[i].likeOne = true;
},
// 鼠标移出隐藏点赞
hideLike(i){
  this.comment_list[i].likeOne = false;
},
// 点赞
likePoint(i){
  if (!this.comment_list[i].likeBox){
    this.comment_list[i].like_count++;    
  }else{ 
    this.comment_list[i].like_count--;   
  }
    this.comment_list[i].likeBox=!this.comment_list[i].likeBox;
},      

},
}
</script>

图片描述

阅读 4.4k
2 个回答

设置个全局变量flag=true

  data() {
    return {
      flag: true
    };
  },

移出事件如下

hideLike(i){
 if(this.flag==true){
   this.comment_list[i].likeOne = false;
 }
}

点击事件

likePoint(i){
   this.flag=false
  if (!this.comment_list[i].likeBox){
    this.comment_list[i].like_count++;    
  }else{ 
    this.comment_list[i].like_count--;   
  }
    this.comment_list[i].likeBox=!this.comment_list[i].likeBox;
},  

用flag控制移除事件隐藏事件是否触发,刷新页面falg为默认值true,点赞以后flag为false,所以走不了移除事件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏