97国产精品视频人人做人人爱,3344在线观看无码,成年人国产视频,欧美日一级片,在线看AV天堂,高清无码一本到东京热,欧美一级黄片一区2区,免费又爽又刺激高潮网址

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.0391cbd.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司

日歷

鏈接

個人資料

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

存檔

主站蜘蛛池模板: 欧美激情首页| 亚洲午夜天堂| 欧美啪啪网| 国产专区综合另类日韩一区| 无码日韩视频| 国产精品免费p区| 亚洲熟妇AV日韩熟妇在线| 日韩精品一区二区三区视频免费看 | 国产精品区网红主播在线观看| 色欲综合久久中文字幕网| 国产亚洲高清在线精品99| 试看120秒男女啪啪免费| 国内嫩模私拍精品视频| 久久人妻xunleige无码| 波多野吉衣一区二区三区av| 久久精品无码一区二区日韩免费| 国产精品久线在线观看| 素人激情视频福利| JIZZ亚洲国产| 日韩无码黄色| 久久久久久国产精品mv| aⅴ免费在线观看| 伦精品一区二区三区视频| 国产91精品调教在线播放| 老色鬼久久亚洲AV综合| 精品一区二区三区波多野结衣 | 亚洲色欲色欲www在线观看| 多人乱p欧美在线观看| 露脸国产精品自产在线播| 婷婷五月在线| 永久免费无码成人网站| 久久精品中文无码资源站| 四虎亚洲国产成人久久精品| 亚洲色婷婷一区二区| 国产在线八区| 国产精品原创不卡在线| 黄色网在线| 成人免费黄色小视频| 亚洲色偷偷偷鲁综合| 国产情精品嫩草影院88av| 亚洲精品片911| 亚洲男人在线| 国产日本欧美亚洲精品视| 72种姿势欧美久久久久大黄蕉| 欧美精品xx| 日韩欧美91| 黄色国产在线| 日韩区欧美国产区在线观看| 国产福利免费在线观看| 免费无码AV片在线观看国产| 91免费国产在线观看尤物| 精品一区二区三区波多野结衣| 国产精品一区在线观看你懂的| 92午夜福利影院一区二区三区| 国产福利一区二区在线观看| 久青草网站| 亚洲Av激情网五月天| 国产av无码日韩av无码网站| 一本大道无码日韩精品影视| 2021精品国产自在现线看| 久久精品波多野结衣| 97国内精品久久久久不卡| 午夜精品区| 国产综合在线观看视频| 毛片一级在线| 国产亚洲欧美在线专区| 亚洲日韩高清在线亚洲专区| 国产欧美日韩视频怡春院| 国产精品久久久久久久久kt| 国产本道久久一区二区三区| 九色综合伊人久久富二代| 国产肉感大码AV无码| 五月天福利视频| 永久成人无码激情视频免费| 久视频免费精品6| 欧美日韩免费观看| 亚洲男人天堂2018| 国产成人1024精品下载| 日韩在线中文| 香蕉视频在线观看www| 欧美精品亚洲精品日韩专区va| 成人一区专区在线观看|