92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

Github 用戶查詢案例【基于Vue2全局事件總線通信】

2023-1-5    前端達人

前言:

        本次案例是一個基于 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中原有的四個狀態布爾值。

 
  1. <script>
  2. export default {
  3. name:'List',
  4. data() {
  5. return {
  6. UserInfo:{
  7. iswelcome:true,
  8. isloading:false,
  9. users:'',
  10. error:''
  11. }
  12. }
  13. },
  14. mounted(){
  15. this.$bus.$on('getUserInfo',(datas)=>{
  16. // console.log('list組件收到了傳來的用戶數據',res);
  17. this.UserInfo=datas
  18. console.log(datas);
  19. })
  20. }
  21. }
  22. </script>

2.2 觸發自定義事件 

點擊搜索按鈕即可使用 $emit 觸發自定義事件,在請求成功前會將 isloading 改為true,其余改為false進行數據傳遞,傳遞給 list 組件后期就會顯示出loading的背景頁面,其余同理

 
  1. <script>
  2. export default {
  3. name:'Search',
  4. data(){
  5. return {
  6. ipt_value:'',
  7. }
  8. },
  9. methods:{
  10. search(){
  11. this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:true,users:'',error:''})
  12. this.$axios.get(`https://api.github.com/search/users?q=${this.ipt_value}`).then(
  13. response => {
  14. this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:false,users:response.data.items,error:''})
  15. },
  16. error => {
  17. console.log(error);
  18. this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:false,users:'',error:error})
  19. }
  20. )
  21. this.ipt_value=''
  22. }
  23. }
  24. }
  25. </script>




前言:

        本次案例是一個基于 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中原有的四個狀態布爾值。

 
  1. <script>
  2. export default {
  3. name:'List',
  4. data() {
  5. return {
  6. UserInfo:{
  7. iswelcome:true,
  8. isloading:false,
  9. users:'',
  10. error:''
  11. }
  12. }
  13. },
  14. mounted(){
  15. this.$bus.$on('getUserInfo',(datas)=>{
  16. // console.log('list組件收到了傳來的用戶數據',res);
  17. this.UserInfo=datas
  18. console.log(datas);
  19. })
  20. }
  21. }
  22. </script>

2.2 觸發自定義事件 

點擊搜索按鈕即可使用 $emit 觸發自定義事件,在請求成功前會將 isloading 改為true,其余改為false進行數據傳遞,傳遞給 list 組件后期就會顯示出loading的背景頁面,其余同理

 
  1. <script>
  2. export default {
  3. name:'Search',
  4. data(){
  5. return {
  6. ipt_value:'',
  7. }
  8. },
  9. methods:{
  10. search(){
  11. this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:true,users:'',error:''})
  12. this.$axios.get(`https://api.github.com/search/users?q=${this.ipt_value}`).then(
  13. response => {
  14. this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:false,users:response.data.items,error:''})
  15. },
  16. error => {
  17. console.log(error);
  18. this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:false,users:'',error:error})
  19. }
  20. )
  21. this.ipt_value=''
  22. }
  23. }
  24. }
  25. </script>
來源:csdn 藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請加微信ban_lanlan,報下信息,藍小助會請您入群。歡迎您加入噢~~ 希望得到建議咨詢、商務合作,也請與我們聯系01063334945。  分享此文一切功德,皆悉回向給文章原作者及眾讀者. 免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。  藍藍設計m.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司

日歷

鏈接

個人資料

藍藍設計的小編 http://m.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
欧美综合在线观看| 91精品国产91久久| 91九色02白丝porn| 久久综合久久综合这里只有精品| 一卡二卡三卡日韩欧美| 日本精品va在线观看| 久久人人超碰精品| 国产精品h在线观看| 精品视频国产| 97精品视频在线观看自产线路二| 最新97超碰在线| 日韩电影免费观看在线观看| 最新国产の精品合集bt伙计| 欧美日产在线观看| av免费在线网站| 粉嫩av四季av绯色av第一区| 久做在线视频免费观看| 91久久极品少妇xxxxⅹ软件| 性xxxfreexxxx性欧美| 久久婷婷成人综合色| 国产伦精品一区二区三区免费优势| 久久亚洲精品爱爱| 国产东北露脸精品视频| 欧美中文一区二区| 亚洲成色www8888| 91中文字精品一区二区| 欧美精品福利在线| 成人涩涩网站| 亚洲国产精久久久久久| 国产精品免费一区二区| 欧美少妇一区二区| 第一会所sis001亚洲| 亚洲欧洲二区| 国产免费一区二区三区香蕉精| 欧美麻豆久久久久久中文| 免费网站免费进入在线| 欧美国产极品| 国产一区再线| 亚洲国产欧美日韩精品| 精品日韩欧美一区| 欧美日韩中文一区二区| 久久爱av电影| 成人精品视频久久久久| 在线观看日韩精品| 亚洲精品免费一二三区| 精精国产xxxx视频在线播放| 97超碰资源站在线观看| 销魂美女一区二区三区视频在线| 9i在线看片成人免费| 亚洲欧美另类自拍| 成人一区二区三区四区| 国产精品久久国产精麻豆99网站| 美女精品国产| 国产综合色精品一区二区三区| 日本精品视频网站| 2024最新电影免费在线观看| 最爽无遮挡行房视频在线| 午夜成人在线视频| 亚洲v.com| 一级做a爱片久久| 一区二区三区欧美日韩| 国内精品国产成人| 国产精品v片在线观看不卡| 亚洲乱码在线| 久久精品视频va| 婷婷中文字幕一区| 久久精品久久精品亚洲人| 麻豆国产精品一区二区三区| 麻豆免费在线| 热re91久久精品国99热蜜臀| 色综合色综合网色综合| 一区二区三区精品99久久| 精品国产乱码久久久久| 亚洲免费影视第一页| 国产精品色悠悠| 乡村艳史在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 日本一区二区三区在线视频| 欧美一区二区大片| 欧美不卡一区二区| 日韩视频免费观看高清完整版| 亚洲精品一级| 国产一区美女在线| 亚洲精品一区二区三区蜜桃久| 91av在线网站| 亚洲精一区二区三区| 亚洲激情综合| avav成人| 国产伦精品一区二区三区四区视频| 中文字幕色婷婷在线视频| 亚洲人成小说网站色在线| 99国产盗摄| 日韩精品视频在线免费观看| 国产精品永久| 国产日韩欧美成人| 成人涩涩网站| 欧美xxxx18性欧美| 日韩大片免费观看| 国产欧美一区二区白浆黑人| 亚洲成人教育av| 国产精品免费av| 美女高潮在线观看| http;//www.99re视频| 亚洲欧洲在线观看| 中文不卡在线| 国模大尺度一区二区三区| 亚洲午夜未满十八勿入免费观看全集| 亚洲伊人久久综合| 欧美精品第一区| 理论片午午伦夜理片在线播放| 亚洲在线一区| 亚州欧美一区三区三区在线| 国产精品久久久久久久久快鸭| 日韩美女精品在线| 久久午夜电影| 日本va欧美va精品发布| 欧美一区二区三区视频免费| 成人短视频在线观看| 任我爽在线视频精品一| 99久久婷婷这里只有精品| 欧亚洲嫩模精品一区三区| 国产综合久久久| 91精品国产高清一区二区三区| 一区二区三区四区在线观看视频| 五月开心六月丁香综合色啪| 精品国产亚洲在线| 色噜噜狠狠色综合网图区| 麻豆免费在线观看| 香蕉久久免费影视| 国产精品成人观看视频国产奇米| 国产噜噜噜噜久久久久久久久| 国产欧美视频一区二区三区| 成人免费直播live| 国产经典一区二区三区| 亚洲国产精品成人| 韩日午夜在线资源一区二区| 国产亚洲一本大道中文在线| 欧美在线欧美在线| 在线免费观看亚洲| 伦理在线一区| 制服丝袜成人动漫| 亚洲国产精品一区二区www| 欧美极度另类| 国产精品久久久网站| 综合在线影院| 精品一区二区三区自拍图片区| 99精品免费视频| 黄色精品视频网站| 国产极品在线观看| 欧美不卡在线视频| 欧美人与物videos| 日韩av黄色在线| 狠狠操狠狠色综合网| 国产女主播一区二区三区| 4k岛国日韩精品**专区| 国产三级精品三级在线观看国产| 久久精品道一区二区三区| 久久99青青| 色综合久久88色综合天天6| 久久久久久久久久久久电影| 色吧亚洲日本| 精品国产18久久久久久洗澡| heyzo中文字幕在线| 国产香蕉精品|