国产精品爱久久久久久久小说,女人扒开腿让男人桶到爽 ,亚洲欧美国产双大乳头,国产成人精品综合久久久久,国产精品制服丝袜无码,免费无码精品黄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。  分享此文一切功德,皆悉回向給文章原作者及眾讀者. 免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。  藍藍設計m.dzxscac.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司

    日歷

    鏈接

    個人資料

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

    存檔

    主站蜘蛛池模板: 欧洲女同同性吃奶| 欧美va久久久噜噜噜久久| 国产剧情在线| 少女国产免费观看| 上司人妻互换hd无码| 欧洲vat一区二区三区| 打开免费观看视频在线播放| 伊人婷婷综合| 国产在线视频www色| 饥渴少妇av无码影片| 亚洲天堂偷拍| 麻豆性生活| 我和亲妺妺乱的性视频| 婷婷色香五月综合缴缴情香蕉 | 国产精品xxx在线| 日韩美女在线观看一区| gav成人| 免费无码一区无码东京热| 亚洲精品tv久久久久久久久j| 人妻.中文字幕无码| 日韩另类视频| 国产成人精品永久免费视频| 少妇乳大丰满在线播放| 超碰人人透人人爽人人看| 国产精品高清无码在线观看 | 精品国精品国产自在久国产不卡| 日日夜夜精品视频免费| 国产免费av网址| 国产成年无码v片在线| 很黄很黄的曰批视频| 一区二区影视| 一区二区麻豆| 青青久在线视频免费观看| 久久久久人妻一区二区三区vr| 精品视频网站| 欧美粗大猛烈| 极品美女扒开粉嫩小泬图片| 中文av无码人妻一区二区三区 | 天天躁夜夜躁狠狠躁2020| 在线亚洲专区高清中文字幕| 婷婷丁香九月|