最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue 使用Ajax異步或同步的方法

 更新時間:2025年07月03日 09:22:24   作者:凌冰_  
本文介紹了Vue中使用Axios動態(tài)加載員工列表數(shù)據(jù),并通過async/await替代then/catch優(yōu)化代碼結(jié)構(gòu),同時詳解了Vue生命周期的8個階段及鉤子函數(shù)應(yīng)用場景,強調(diào)mounted鉤子用于初始化數(shù)據(jù)請求,感興趣的朋友跟隨小編一起看看吧

一、使用Axios動態(tài)加載員工列表數(shù)據(jù)

  1、運行頁面效果

 2、單擊查詢顯示所有的數(shù)據(jù)

3、 再通過姓名,性別,職位分別查詢數(shù)據(jù)

4、單擊清空按鈕,查詢字段恢復原來狀態(tài),那就是顯示所有的數(shù)據(jù)

 5、JS代碼片段

<!-- 引入axios.js -->
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script type="module">
        import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
        createApp({
            data() {
                return {
                    findForm: {
                        name: '',
                        gender: '',
                        position: ''
                    },
                    users: [] // 用于存儲查詢結(jié)果的用戶數(shù)據(jù)數(shù)組
                };
            },
            methods: {
                showMessage() {
                    // 這里可以添加實際的查詢邏輯
                    axios.get(`https://webserver.ma.net/emps/list?name=${this.findForm.name}&gender=${this.findForm.gender}&job=${this.findForm.position}`)
                        .then(response => {
                            this.users = response.data.data;
                        })
                        .catch(error => {
                            console.error('查詢用戶數(shù)據(jù)失敗:', error);
                        })
                },
                  // 清空查詢表單
                clearForm() {
                    this.findForm = {
                        name: '',
                        gender: '',
                        position: '',
                    }
                    this.showMessage(); // 清空后重新查詢,獲取所有用戶數(shù)據(jù)
                }
            }
        }).mount('#app');
    </script>

說明:使用axios中提供的.then(function(){....}).catch(function(){....}),這種回調(diào)函數(shù)的寫法,會使得代碼的可讀性和維護性變差。

解決:可以通過async、await可以讓異步變?yōu)橥讲僮?/strong>

async:聲明一個異步方法,await:等待異步任務(wù)執(zhí)行。

 如下操作:(代碼修改后就變成同步操作了,也就是從前往后一行一行執(zhí)行。)

methods: {
 async showMessage() {
   // 這里可以添加實際的查詢邏輯
  let response= await axios.get(`https://webserver.ma.net/emps/list?name=${this.findForm.name}&gender=${this.findForm.gender}&job=${this.findForm.position}`)
  this.users = response.data.data;
},

注意:await關(guān)鍵字只在async函數(shù)內(nèi)有效,await關(guān)鍵字取代then函數(shù),等待獲取到請求成功的結(jié)果值 

二、Vue生命周期

1、它是vue對象從創(chuàng)建銷毀的過程

 2、它的8個階段:

       每觸發(fā)一個生命周期事件,會自動執(zhí)行一個生命周期方法,這些生命周期方法也被稱為鉤子方法。

生命周期階段鉤子函數(shù)觸發(fā)時機典型應(yīng)用場景
創(chuàng)建階段beforeCreate實例初始化后,數(shù)據(jù)觀測/事件配置前插件初始化、非響應(yīng)式變量設(shè)置
created實例創(chuàng)建完成(數(shù)據(jù)觀測/方法可用,DOM未生成)異步請求數(shù)據(jù)、初始化非DOM相關(guān)操作
掛載階段beforeMount模板編譯完成,虛擬DOM已創(chuàng)建但未渲染最后修改渲染數(shù)據(jù)(不會觸發(fā)重新渲染)
mounted實例掛載到真實DOM后操作真實DOM、初始化第三方庫(如ECharts)
更新階段beforeUpdate數(shù)據(jù)變化后,虛擬DOM重新渲染前獲取更新前的DOM狀態(tài)(慎改數(shù)據(jù))
updated虛擬DOM重新渲染并應(yīng)用更新后依賴新DOM的操作(如調(diào)整插件尺寸)
銷毀階段beforeDestroy實例銷毀前(仍完整可用)清除定時器、解綁事件、銷毀全局監(jiān)聽
destroyed實例銷毀后(所有綁定和子實例已移除)釋放非Vue管理的資源(如手動創(chuàng)建的DOM事件)

生命周期圖示:

 mounted:掛載完成,Vue初始化成功,HTML頁面渲染成功。

一般用于頁面初始化自動的ajax請求后臺數(shù)據(jù)

如果想在頁面加載完畢,就能列出所有員工數(shù)據(jù),就可以在mounted鉤子函數(shù)中,發(fā)送異步請求查詢員工數(shù)據(jù)了。

     methods: {
               async showMessage() {
                    // 這里可以添加實際的查詢邏輯
                   let response= await axios.get(`https://webserver.ma.net/emps/list?name=${this.findForm.name}&gender=${this.findForm.gender}&job=${this.findForm.position}`)
                   this.users = response.data.data;
                },
                  // 清空查詢表單
                clearForm() {
                    this.findForm = {
                        name: '',
                        gender: '',
                        position: '',
                    }
                    this.showMessage(); // 清空后重新查詢,獲取所有用戶數(shù)據(jù)
                }
            },
            mounted() {
                this.showMessage(); // 頁面加載完成后,自動查詢所有用戶數(shù)據(jù)
            }

運行:

到此這篇關(guān)于Vue 使用Ajax異步或同步的文章就介紹到這了,更多相關(guān)Vue Ajax異步或同步內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue中的百度地圖定位BMap.GeolocationControl的用法

    Vue中的百度地圖定位BMap.GeolocationControl的用法

    BMap.GeolocationControl?是百度地圖API中的一個類,用于添加地理定位控件到地圖上,以便用戶可以通過該控件獲取自己的當前位置,本文給大家介紹Vue中的百度地圖定位BMap.GeolocationControl的用法,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • vue3給動態(tài)渲染的組件添加ref的解決方案

    vue3給動態(tài)渲染的組件添加ref的解決方案

    ref和reactive一樣,也是用來實現(xiàn)響應(yīng)式數(shù)據(jù)的方法,下面這篇文章主要給大家介紹了關(guān)于vue3給動態(tài)渲染的組件添加ref的解決方案,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • vue?+elementui?項目登錄通過不同賬號切換側(cè)邊欄菜單的顏色

    vue?+elementui?項目登錄通過不同賬號切換側(cè)邊欄菜單的顏色

    這篇文章主要介紹了vue?+elementui?項目登錄通過不同賬號切換側(cè)邊欄菜單的顏色,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • 詳解基于iview-ui的導航欄路徑(面包屑)配置

    詳解基于iview-ui的導航欄路徑(面包屑)配置

    這篇文章主要介紹了詳解基于iview-ui的導航欄路徑(面包屑)配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • vue.js 1.x與2.0中js實時監(jiān)聽input值的變化

    vue.js 1.x與2.0中js實時監(jiān)聽input值的變化

    這篇文章主要介紹了vue.js 1.x與vue.js2.0中js實時監(jiān)聽input值的變化的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • 使用vuex的state狀態(tài)對象的5種方式

    使用vuex的state狀態(tài)對象的5種方式

    本文給大家介紹了使用vuex的state狀態(tài)對象的5種方式,給大家貼出了我的vuex的結(jié)構(gòu),感興趣的朋友跟隨腳本之家小編一起學習吧
    2018-04-04
  • Vuex之Action的使用方法詳解

    Vuex之Action的使用方法詳解

    這篇文章主要介紹了Vuex之Action的使用方法詳解,Action 類似于 mutation ,不同在于Action 提交的是 mutation,而不是直接變更狀態(tài),
    Action 可以包含任意異步操作,需要的朋友可以參考下
    2023-11-11
  • 前端Vue3+vant實現(xiàn)OSS上傳圖片全過程

    前端Vue3+vant實現(xiàn)OSS上傳圖片全過程

    這篇文章主要介紹了前端Vue3+vant實現(xiàn)OSS上傳圖片的相關(guān)資料,文中通過示例代碼詳細說明了上傳文件的總流程,包括可能出現(xiàn)的跨域問題以及如何配置服務(wù)器以解決跨域問題,需要的朋友可以參考下
    2025-05-05
  • Vue的事件響應(yīng)式進度條組件實例詳解

    Vue的事件響應(yīng)式進度條組件實例詳解

    這篇文章主要介紹了Vue的事件響應(yīng)式進度條組件的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • vue 之 .sync 修飾符示例詳解

    vue 之 .sync 修飾符示例詳解

    這篇文章主要介紹了vue 之 .sync 修飾符的相關(guān)知識,非常不錯,具有參考借鑒價值 ,需要的朋友可以參考下
    2018-04-04

最新評論

庐江县| 星座| 天津市| 闸北区| 句容市| 大英县| 桂东县| 安阳县| 海口市| 论坛| 普兰店市| 营口市| 上思县| 鄢陵县| 吉木萨尔县| 谷城县| 安西县| 南宁市| 西丰县| 时尚| 万源市| 台北县| 新干县| 湛江市| 普宁市| 张掖市| 仲巴县| 双流县| 高阳县| 哈密市| 卢龙县| 和平县| 沧源| 南充市| 科技| 麻栗坡县| 玉树县| 苏尼特左旗| 尚义县| 潜江市| 镇巴县|