vue实现关注与取消关注的按钮

先上效果图:
关注前:
在这里插入图片描述
关注后:
在这里插入图片描述
鼠标悬浮:
在这里插入图片描述
template部分:

<template>
    <div>
      <button   @click="favor"
               class="my_button" :style="{backgroundColor:bg_color, color: ft_color,}"
               @mouseenter="change()" @mouseleave="goback()">
        {{content}}
      </button>
    </div>
</template>

script部分:

<script>
    export default {
        name: "zan",
        data () {
            return{
                liked:false,
                content:'+关注',
                bg_color:"#fef0f0",
                ft_color:"#f56c6c",
            }
        },
        methods:{
            favor (e) {
                this.liked=!this.liked;
                if(this.liked){
                    this.content="已关注";
                    this.bg_color="#f56c6c";
                    this.ft_color="#fef0f0";
                }

                else{
                    this.content="+关注"
                    this.bg_color="#fef0f0";
                    this.ft_color="#f56c6c";

                }
            },
            change(){
                this.bg_color="#ff9999";
                this.ft_color="#fef0f0";
            },
            goback(){
                if(this.liked){
                    this.bg_color="#f56c6c";
                    this.ft_color="#fef0f0";
                }
                else{
                    this.bg_color="#fef0f0";
                    this.ft_color="#f56c6c";
                }
            }
        }
    }
</script>

style部分:

<style >

  button{
    outline:none;
  }

  .my_button{
    color: #f56c6c;
    background: #fef0f0;
    border: #fbc4c4 solid;
    border-radius: 20px;
    padding: 12px 23px;
    text-align: center;
    font-size: 16px;
    -webkit-transform: scale(0.7);
  }

</style>

分析:
1.总的来说,就是一个class(my_button),三个绑定事件(favor,change,goback),四个全局变量(liked, content,bg_color,ft_color)。主要分析3个绑定事件是如何修改4个全局变量的。

2.my_button用于设定关注按钮的初始样式,参考的是el-button,没什么可分析的。

3.liked变量,记录是否关注,取假表示未关注,取真表示已关注;content变量记录按钮的内容;bg_color按钮背景色,ft_color字体颜色。

4.favor函数:绑定click事件,鼠标点击后修改liked的值,即修改是否点赞的状态;如果liked取真,则修改content为已关注,修改bg_color为#fef0f0,修改ft_color为#f56c6c;如果liked取假,修改bg_color为#f56c6c,修改ft_color为#fef0f0,修改content为+关注

  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
关注取消关注功能的实现,一般需要使用到前端的 Vue 框架和后端的 Spring Boot 框架。 首先,需要在后端编写相应的接口,例如 `follow` 和 `unfollow` 接口,用于实现关注取消关注的功能,这两个接口可以使用 HTTP 的 POST 方法来实现。 在前端,需要使用 Vue 框架来实现用户界面和与后端的交互。可以使用 Vue 的组件化机制,将关注取消关注的功能分别封装成组件。 在关注组件中,需要调用后端的 `follow` 接口来实现关注操作。在取消关注组件中,需要调用后端的 `unfollow` 接口来实现取消关注操作。 具体实现步骤如下: 1. 在后端编写 `follow` 和 `unfollow` 接口,用于实现关注取消关注的功能。 2. 在前端使用 Vue 框架,将关注取消关注功能分别封装成组件。 3. 在关注组件中,使用 Vue 的 `axios` 库来发起 HTTP 请求,调用后端的 `follow` 接口实现关注操作。 4. 在取消关注组件中,使用 Vue 的 `axios` 库来发起 HTTP 请求,调用后端的 `unfollow` 接口实现取消关注操作。 5. 在用户界面中,使用关注取消关注组件来实现对其他用户的关注取消关注操作。 需要注意的是,在实现关注取消关注的功能时,需要考虑多个用户之间的关系,例如用户 A 关注了用户 B,用户 B 可以在自己的个人主页中看到用户 A 的关注信息。因此,在设计数据模型和实现接口时,需要考虑这些方面的问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值