<strike id="g3zqm"></strike>

      <cite id="g3zqm"></cite>

        <tr id="g3zqm"><center id="g3zqm"></center></tr>
        <pre id="g3zqm"><sup id="g3zqm"></sup></pre>
        <li id="g3zqm"></li>
      1. 少妇高潮激情一区二区三,免费av深夜在线观看,亚洲狼人久久伊人久久伊,久久精品人人做人人爽电影蜜月,黄色特级片一区二区三区,欧美日韩在线亚洲二区综二,极品少妇无套内射视频,日本极品少妇videossexhd

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

        日歷

        鏈接

        個人資料

        藍藍設計的小編 http://m.hengshangtqd.cn

        存檔

        主站蜘蛛池模板: 久久久久高潮毛片免费全部播放 | 国产娇喘| 亚洲精品自拍视频在线| 日本免费一区二区三区| 亚洲无线码中文字幕在线| 欧美国产高| 在线观看成人无码中文AV天堂不卡| 韩国精品一区二区三区四区| 国产中文三级全黄| 婷婷五月综合激情| 中文字幕日韩av| 国产精品久久久久久亚洲色| 日屄视频在线观看| 一本到综在合线伊人| 一 级做人爱全视频在线看| 国产蜜臀在线一区二区三区 | av中文天堂| 日韩第二页| 91精品成人aⅴ成人免费| 美女一区二区三区在线观看视频| 色综合色狠狠天天综合网| 色图4区| 国产婷婷综合在线视频| www.操.com| 99久热这里精品免费观看| 午夜精品久久久久9999高清 | 久热天堂在线视频精品伊人| 欧美肏屄视频| 久久久久久久97| 久久99精品一久久久久久| 亚洲国产精品午夜一区| 鲁一鲁AV| 国产精品视频一区不卡| 中文字幕在线无码一区二区三区| 激情五月天婷婷| 精品少妇后入一区二区三区| 免费看国产成年无码av| 精品日本一区二区三区在线观看| 99人体免费视频| 亚洲精品国产中文字幕| 三个男吃我奶头一边一个视频|