国产精品爱久久久久久久小说,女人扒开腿让男人桶到爽 ,亚洲欧美国产双大乳头,国产成人精品综合久久久久,国产精品制服丝袜无码,免费无码精品黄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

    存檔

    主站蜘蛛池模板: 亚洲午夜网| 国产激情大臿免费视频| 伊人99热| 亚洲中文字幕一区精品自| 亚洲天堂在线观看完整版| 精品无人国产偷自产在线| 情涩快播| 免费观看成人毛片a片 | jizz黄| 国产精品久久| 加勒比色老久久爱综合网| 永久免费看成人av的动态图| 内射毛片内射国产夫妻| 日韩欧美亚洲综合久久影院d3| 奇米成人| 国产一区二区免费电影| 国产精品无码久久av| 好男人在线社区www在线播放| 91啪在线| 国产秋霞| 久久躁狠狠躁夜夜av| 亚洲日韩va在线视频| 蜜臀av首页| 国产中文字幕日韩精品| 自在自线亚洲а∨天堂在线| 国产又粗又猛又黄又爽无遮挡| 日少妇的逼| 蜜桃臀av在线一区二区| 日韩a片无码一区二区五区电影| 日本xxxx18| 男生桶女生肌肌| 好男人社区www在线观看| 18禁止进入1000部高潮网站| 福利一区福利二区| av一二三四区| 丰满人妻熟妇乱又伦精品软件| 香港三日本三级少妇三级99| 国产视频999| 91大神在线观看视频| 色综合久久中文娱乐网| 久爱无码免费视频在线|