国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Github 用戶查詢案例【基于Vue2全局事件總線通信】

這篇具有很好參考價值的文章主要介紹了Github 用戶查詢案例【基于Vue2全局事件總線通信】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

vue2案例網(wǎng)址,Vue基礎(chǔ)教程,前端案例合集,javascript,前端,vue.js,vue,html

前言:

? ? ? ? 本次案例是一個基于 Vue2 的全局事件總線通信的仿 Github 用戶搜索模塊,使用的接口是 Github 官方提供的搜索接口:?https://api.github.com/search/users?q=xxx(發(fā)送請求時需要將輸入的用戶名稱綁定替換掉xxx),如果對全局事件總線不太熟練的小伙伴可以看這篇文章:http://t.csdn.cn/oHEOWhttp://t.csdn.cn/oHEOW

文章目錄:

一:效果展示?

二:代碼分析

2.1 綁定自定義事件?

2.2?觸發(fā)自定義事件?

三:源碼獲取


一:效果展示?

  • 未搜索用戶頁面

vue2案例網(wǎng)址,Vue基礎(chǔ)教程,前端案例合集,javascript,前端,vue.js,vue,html

  • ?查詢后加載中頁面

vue2案例網(wǎng)址,Vue基礎(chǔ)教程,前端案例合集,javascript,前端,vue.js,vue,html

  • ?查詢成功渲染頁面

vue2案例網(wǎng)址,Vue基礎(chǔ)教程,前端案例合集,javascript,前端,vue.js,vue,html

  • 點擊頭像或下部鏈接進入用戶主頁

vue2案例網(wǎng)址,Vue基礎(chǔ)教程,前端案例合集,javascript,前端,vue.js,vue,html

  • ?查詢失敗頁面報錯提示

vue2案例網(wǎng)址,Vue基礎(chǔ)教程,前端案例合集,javascript,前端,vue.js,vue,html


二:代碼分析

代碼共分為了兩個子組件,一個是搜索組件(Search),另一個是列表組件(List),其次search組件中輸入框v-model雙向數(shù)據(jù)綁定,點擊搜索后開始查詢,其中過程分為了四步:第一是未搜索的歡迎頁面背景,第二是請求未加載出來的loading背景,第三是渲染用戶列表,第四是請求失敗的報錯提示頁面背景。

2.1 綁定自定義事件?

綁定自定義事件在List組件中,data中的數(shù)據(jù)是定義了userinfo對象來存放其四個狀態(tài)的布爾值,后續(xù)的數(shù)據(jù)傳遞是直接傳遞userinfo這個對象,使用 $on 綁定自定義事件 getuserinfo,當這個事件觸發(fā)時執(zhí)行后面的箭頭回調(diào)函數(shù),將傳遞來的對象接收并覆蓋掉data中原有的四個狀態(tài)布爾值。

<script>
export default {
  name:'List',
  data() {
    return {
      UserInfo:{
         iswelcome:true,
         isloading:false,
         users:'',
         error:''
      }
    }
  },
  mounted(){
     this.$bus.$on('getUserInfo',(datas)=>{
          // console.log('list組件收到了傳來的用戶數(shù)據(jù)',res);
          this.UserInfo=datas
          console.log(datas);
     })
  }
}
</script>

2.2?觸發(fā)自定義事件?

點擊搜索按鈕即可使用 $emit 觸發(fā)自定義事件,在請求成功前會將 isloading 改為true,其余改為false進行數(shù)據(jù)傳遞,傳遞給 list 組件后期就會顯示出loading的背景頁面,其余同理

<script>
export default {
   name:'Search',
   data(){
    return {
        ipt_value:'',
    }
   },
   methods:{
     search(){
        this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:true,users:'',error:''})
         this.$axios.get(`https://api.github.com/search/users?q=${this.ipt_value}`).then(
            response => {
                this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:false,users:response.data.items,error:''})
            },
            error => {
                console.log(error);
                this.$bus.$emit('getUserInfo',{iswelcome:false,isloading:false,users:'',error:error})
            }
         )
         this.ipt_value=''
     }
   }
}
</script>

三:源碼獲取

私聊我即可,感謝支持文章來源地址http://www.zghlxwxcb.cn/news/detail-777640.html

到了這里,關(guān)于Github 用戶查詢案例【基于Vue2全局事件總線通信】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【vue腳手架配置代理+github用戶搜索案例+vue項目中常用的發(fā)送Ajax請求的庫+slot插槽】

    【vue腳手架配置代理+github用戶搜索案例+vue項目中常用的發(fā)送Ajax請求的庫+slot插槽】

    下載axios 引用axios: import axios from \\\'axios\\\' 解決跨域方法: 1 cors: 2 jsonp:用的少,只能解決get請求的跨域問題 3 配置一個代理服務(wù)器 配置一個代理服務(wù)器方式一: 開啟8080代理服務(wù)器方式:nginx(較復(fù)雜,需借助后端知識) 、vue-cli(重點)。 1 第一步:先通過cmd打開兩臺服務(wù)器 打

    2024年01月20日
    瀏覽(26)
  • 前端vue2 全局水印效果

    前端vue2 全局水印效果

    最近寫項目遇到一個需求,全局顯示水印,不管在哪個路由都要顯示。 想要實現(xiàn)的效果: 新建shuiyin.js文件 main.js中全局注冊

    2024年02月15日
    瀏覽(90)
  • 【Vue2.0源碼學(xué)習(xí)】全局API篇-Vue中全局API分析

    與實例方法不同,實例方法是將方法掛載到 Vue 的原型上,而全局API是直接在 Vue 上掛載方法。在 Vue 中,全局API一共有12個,分別是 Vue.extend 、 Vue.nextTick 、 Vue.set 、 Vue.delete 、 Vue.directive 、 Vue.filter 、 Vue.component 、 Vue.use 、 Vue.mixin 、 Vue.observable 、 Vue.version 。這12個API中有的

    2024年02月08日
    瀏覽(90)
  • Vue2自己封裝的基礎(chǔ)組件庫或基于Element-ui再次封裝的基礎(chǔ)組件庫,如何發(fā)布到npm并使用(支持全局或按需引入使用),超詳細

    Vue2自己封裝的基礎(chǔ)組件庫或基于Element-ui再次封裝的基礎(chǔ)組件庫,如何發(fā)布到npm并使用(支持全局或按需引入使用),超詳細

    以下我以 wocwin-admin-vue2 項目為例 修改目錄結(jié)構(gòu),最終如下 1、導(dǎo)入組件,組件必須聲明 name 2、定義 install 方法,接收 Vue 作為參數(shù)。如果使用 use 注冊插件,則所有的組件都將被注冊 3、導(dǎo)出的對象必須具有 install,才能被 Vue.use() 方法安裝(全局使用) 4、按需引入 5、packa

    2024年02月08日
    瀏覽(36)
  • Vue2封裝自定義全局Loading組件

    Vue2封裝自定義全局Loading組件

    前言 在開發(fā)的過程中,點擊提交按鈕,或者是一些其它場景總會遇到Loading加載框,PC的一些UI庫也沒有這樣的加載框,無法滿足業(yè)務(wù)需求,因此可以自己自定義一個,實現(xiàn)過程如下。 效果圖 如何封裝? 第1步:創(chuàng)建要封裝成全局組件的文件 第2步:注冊組件 Loading這類的通用

    2024年02月15日
    瀏覽(26)
  • vscode vue2 + volar 全局代碼提示

    vscode vue2 + volar 全局代碼提示

    這幾天更新vscode vetur的后? 項目一直轉(zhuǎn)loading加載不出來了,索性就直接換volar了。 一、基礎(chǔ)配置 但是volar的配置在vue3和vue2里是不太一樣的? ?需要一些額外的配置。記錄一下踩坑。 首先vscode安裝擴展 Vue Language Features (Volar) 、?TypeScript Vue Plugin (Volar)? 并且卸載或者禁用掉原

    2024年02月16日
    瀏覽(30)
  • Vue全局事件總線

    Vue全局事件總線

    ?main.js Student.vue School.vue TodoList案例優(yōu)化: main.js App.vue: 刪除之前給Mylist綁定的:checkTodo? :deleteTodo MyList.vue :? 刪除props接收的checkTodo,deleteTodo,刪除給MyItem綁定的:checkTodo? :deleteTodo MyItem.vue :? 刪除props接收的checkTodo,deleteTodo ?

    2024年02月15日
    瀏覽(22)
  • [Vue]全局事件總線

    [Vue]全局事件總線

    系列文章目錄: [Vue]目錄 老師的課件筆記,不含視頻 https://www.aliyundrive.com/s/B8sDe5u56BU 筆記在線版: https://note.youdao.com/s/5vP46EPC 視頻:尚硅谷Vue2.0+Vue3.0全套教程丨vuejs從入門到精通 全局事件總線是一種組件間通信的方式,能夠?qū)崿F(xiàn)任意組件間的通信。 原理圖: 在全局事件總

    2023年04月10日
    瀏覽(28)
  • uniapp引入全局js,vue2/vue3不同方式引入

    uniapp引入全局js,vue2/vue3不同方式引入

    Hi I’m Shendi uniapp引入全局js,vue2/vue3不同方式引入 最近寫小程序,個人開發(fā),選用了 uni-app 進行開發(fā) 選用的 vue3 版本 因為我用的 vue3 版本,在這里踩了沒學(xué)過vue3的坑,用vue2引入全局js的方式使用,導(dǎo)致undefined… Vue2 版引入全局js的方法如下 將js放到項目內(nèi),一般放到自建的

    2024年02月03日
    瀏覽(28)
  • vue 設(shè)置全局鼠標移動事件

    要設(shè)置全局鼠標移動事件,可以使用 Vue 的 mixin 實現(xiàn)。在 mixin 中,我們可以使用 $on 方法監(jiān)聽 mousemove 事件,并在組件銷毀時使用 $off 方法移除監(jiān)聽器,以避免內(nèi)存泄漏。以下是一個例子: 這樣,每個組件都可以使用全局鼠標移動事件,而不需要在每個組件中單獨設(shè)置。

    2024年02月09日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包