Github 用户查询案例【基于Vue2全局事件总线通信】

news2024/11/20 8:41:39

前言:

        本次案例是一个基于 Vue2 的全局事件总线通信的仿 Github 用户搜索模块,使用的接口是 Github 官方提供的搜索接口: https://api.github.com/search/users?q=xxx(发送请求时需要将输入的用户名称绑定替换掉xxx),如果对全局事件总线不太熟练的小伙伴可以看这篇文章:http://t.csdn.cn/oHEOWhttp://t.csdn.cn/oHEOW

文章目录:

一:效果展示 

二:代码分析

2.1 绑定自定义事件 

2.2 触发自定义事件 

三:源码获取


一:效果展示 

  • 未搜索用户页面

  •  查询后加载中页面

  •  查询成功渲染页面

  • 点击头像或下部链接进入用户主页

  •  查询失败页面报错提示


二:代码分析

代码共分为了两个子组件,一个是搜索组件(Search),另一个是列表组件(List),其次search组件中输入框v-model双向数据绑定,点击搜索后开始查询,其中过程分为了四步:第一是未搜索的欢迎页面背景,第二是请求未加载出来的loading背景,第三是渲染用户列表,第四是请求失败的报错提示页面背景。

2.1 绑定自定义事件 

绑定自定义事件在List组件中,data中的数据是定义了userinfo对象来存放其四个状态的布尔值,后续的数据传递是直接传递userinfo这个对象,使用 $on 绑定自定义事件 getuserinfo,当这个事件触发时执行后面的箭头回调函数,将传递来的对象接收并覆盖掉data中原有的四个状态布尔值。

<script>
export default {
  name:'List',
  data() {
    return {
      UserInfo:{
         iswelcome:true,
         isloading:false,
         users:'',
         error:''
      }
    }
  },
  mounted(){
     this.$bus.$on('getUserInfo',(datas)=>{
          // console.log('list组件收到了传来的用户数据',res);
          this.UserInfo=datas
          console.log(datas);
     })
  }
}
</script>

2.2 触发自定义事件 

点击搜索按钮即可使用 $emit 触发自定义事件,在请求成功前会将 isloading 改为true,其余改为false进行数据传递,传递给 list 组件后期就会显示出loading的背景页面,其余同理

<script>
export default {
   name:'Search',
   data(){
    return {
        ipt_value:'',
    }
   },
   methods:{
     search(){
        this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:true,users:'',error:''})
         this.$axios.get(`https://api.github.com/search/users?q=${this.ipt_value}`).then(
            response => {
                this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:false,users:response.data.items,error:''})
            },
            error => {
                console.log(error);
                this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:false,users:'',error:error})
            }
         )
         this.ipt_value=''
     }
   }
}
</script>

三:源码获取

私聊我即可,感谢支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/62476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML期末学生大作业-宠物之家网页作业html+css+javascript

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

仪表板支持水印设置,数据集新增脱敏规则支持,DataEase开源数据可视化分析平台v1.17.0发布

12月5日&#xff0c;DataEase开源数据可视化分析平台正式发布v1.17.0版本。 这一版本的功能升级包括&#xff1a;数据集方面&#xff0c;支持将数据集数据按指定条件导出为Excel文件&#xff0c;方便用户对权限范围内的数据进行二次处理。数据集字段支持日期解析格式设置&…

[附源码]计算机毕业设计网约车智能接单规划小程序Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Service层代码单元测试以及单元测试如何Mock

一、背景 接着上一篇文章&#xff1a;单元测试入门篇&#xff0c;本篇文章作为单元测试的进阶篇&#xff0c;主要介绍如何对Springboot Service层代码做单元测试&#xff0c;以及单元测试中涉及外调服务时&#xff0c;如何通过Mock完成测试。 二、Springboot Service层代码单…

[附源码]JAVA毕业设计快递物流管理(系统+LW)

[附源码]JAVA毕业设计快递物流管理&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&…

华为云低代码技术:让矿区管理“智变”,一览无遗

摘要&#xff1a;基于华为低代码平台&#xff0c;万洲嘉智复用开发了9个数字化管理功能&#xff0c;成功解决了矿区管理的空区和难点&#xff0c;帮助煤矿园区实现了智能化管控。本文分享自华为云社区《【云享伙伴】第10期&#xff1a;华为云低代码技术&#xff1a;让矿区管理“…

[附源码]JAVA毕业设计-旅游产品销售管理-演示录像2020(系统+LW)

[附源码]JAVA毕业设计-旅游产品销售管理-演示录像2020&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff…

660846-99-1, Ac-Arg-Gly-Lys-AMC

Control for the two step histone deacetylase assay with Ac-Arg-Gly-Lys(Ac)-AMC. Ac-RGK-AMC corresponds to the product of the deacetylase reaction, which is subsequently cleaved by trypsin. Ac-精氨酸- gly - lys (Ac)-AMC两步法组蛋白去乙酰化酶测定对照。Ac-RGK…

直击家居建材采购痛点,数商云采购协同系统招投标功能助力企业招采透明高效

在后疫情时代&#xff0c;各类企业的采购与供应链数字化转型已是大势所趋&#xff0c;家居建材企业也不例外。用数字化技术助力建材产业转型&#xff0c;为供采双方提供线上精准对接服务&#xff0c;才能赋能新时代建材供应链。 建设采购平台已是大势所趋。作为企业价值链管理…

[附源码]Python计算机毕业设计Django南通大学福利发放管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

UEditorPlus v2.7.0发布 开放独立文档,附件样式优化

UEditor是由百度开发的所见即所得的开源富文本编辑器&#xff0c;基于MIT开源协议&#xff0c;该富文本编辑器帮助不少网站开发者解决富文本编辑器的难点。 UEditorPlus 是有 ModStart 团队基于 UEditor 二次开发的富文本编辑器&#xff0c;主要做了样式的定制&#xff0c;更符…

Hoops API参考: 3D Graphics System的Set_Color()函数

void Set_Color(const char* color_spec)渲染一个段的内容时改变使用的颜色。还可以用于选择要在高亮模式中使用的曲面特性&#xff0c;以及用于特殊纹理贴图效果。 具体细节 Set_Color(&#xff09;的通用目标是使用这个颜色进行绘制。你可以之只给颜色命令&#xff0c;也可…

警惕 有种过敏叫“牛奶蛋白过敏”

过敏是一个全球性的健康问题。以此为基础。WHO据统计&#xff0c;过敏已成为世界第六大疾病。世界上有3亿人患有哮喘、特应性皮炎、过敏性鼻炎、胃肠道疾病等疾病。美国每年有4%-6%的儿童患有食物过敏。由于环境和食品添加剂的日益复杂&#xff0c;中国和发达国家的过敏性疾病正…

Java项目:SSM简单医院信息管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 管理员角色&#xff1a; 登录,个人资料管理,用户管理,科室管理,医生管理,患者管理,科室项目管理,患者诊疗记录管理等功能。 医生角色包含以下功…

SpringMVC_第1章

SpringMVC_第1章 文章目录SpringMVC_第1章一、SpringMVC简介1 SpringMVC概述问题导入1.1 SpringMVC概述2 入门案例【重点】问题导入2.1 实现步骤2.2 代码实现【第一步】创建web工程&#xff08;Maven结构&#xff09;【第二步】设置tomcat服务器&#xff0c;加载web工程(tomcat…

[附源码]计算机毕业设计基于Springboot楼盘销售管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

闲人闲谈PS之三十六——项目状态控制

**惯例闲话&#xff1a;**最近感觉时间不够用&#xff0c;脑子有很多想法&#xff0c;但是到下笔却感觉总是下不了手&#xff0c;写完一段&#xff0c;感觉和自己想的差距很大&#xff0c;然后有全部删除…这难道就是传说中年纪大了&#xff0c;手脚不停使唤…这让闲人更加焦虑…

[附源码]计算机毕业设计基于Springboot数字乡村基础治理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【JDBC】------ResultSet(结果集)和常见异常

分享第二十条励志语句 宁可自信&#xff0c;也不要盲目悲观。因为自信是一种力量&#xff0c;即使你的自信有些盲目&#xff0c;也无关大局&#xff0c;你可以在实践中调整心态&#xff0c;找到自己的恰当的位置。如果盲目自卑&#xff0c;你就必然失去一切。 目录 分享第二十…

汇编语言之母逝世,71岁时还和儿子合写神经网络论文

凯瑟琳・布斯被称为汇编语言之母&#xff0c;具体来说就是她创造了第一个“汇编语言”。 在1940年代中期&#xff0c;第一台通用电子计算机最初并没有用于代码的内部存储。如果我们想要用它编程&#xff0c;就要操纵数千个开关和电缆&#xff0c;而这些开关和电缆所在的位置&am…