1. <sup id="1kcns"></sup>

    2. <rt id="1kcns"><legend id="1kcns"></legend></rt>
      国产AV巨作丝袜秘书,国产精品久久香蕉免费播放,国产草草影院ccyycom,涩涩爱狼人亚洲一区在线,日本阿v片在线播放免费,国产精品一区二区三区蜜臀,精品一区二区三区在线观看l,av深夜免费在线观看

      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。  分享此文一切功德,皆悉回向給文章原作者及眾讀者. 免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。  藍藍設計www.payeee.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司

      日歷

      鏈接

      個人資料

      藍藍設計的小編 http://www.payeee.cn

      存檔

      主站蜘蛛池模板: 在线a级毛片无码免费真人| 999白浆| 【_undefined?-?P站免费版?-?永久免费的福利视频平台】https://17630364268551281430832.nx37lbnqvd.com/column/all/show?t=&tags=%E5%90%8E%E5%85%A5%E9%AA%91%E9%A9%AC&page=2&orderBy=createTime&expanded=1 | 国产精品无码无卡在线播放| 5g影院天天5g爽天天看| 4hu44四虎www在线影院麻豆 | 超碰av在线| 日韩国产欧美精品在线| 亚洲色图偷拍| 亚洲精品无码永久在线观看你懂的| 日韩人妻无码精品久久免费一| 免费观看囯产自偷自拍窥自拍| 中文字幕亚洲综合久久| 丰满人妻熟妇乱又伦精品劲 | 国产人妻高清国产拍精品| 免费99精品国产自在在线| 欧美高清视频一区二区三区| 女人天堂AV| 在线天堂av一区二区| 国产精品一区二区三区四区| 白嫩少妇激情无码| 天天躁日日躁狠狠躁喷水| 以草欠热福利视频手机软件丝袜国…| 99狠狠狠狠狠操| 久久国产精品国产自线拍| 免费网站看V片在线毛| 黑人与亚洲av| 肏国产女人免费视频| 亚洲AV无码一二区三区在线播放| 亚洲成在人网站av天堂| 夜夜夜夜撸| 日韩第一页浮力| 最新精品国偷自产在线 | 日本最新免费二区三区| 亚洲精品在看在线观看高清91| 无码精品人妻一区二区三区老牛| 欧美做受???免费| 国产精品久久蜜臀av| 99久久国产精品无码| 亚洲中文字幕人妻系列| 在线亚洲午夜片av大片|