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

Vue3異步數(shù)據(jù)加載組件suspense的使用方法

 更新時(shí)間:2021年08月05日 09:01:51   作者:天行無(wú)忌  
前端開(kāi)發(fā)中異步請(qǐng)求是非常常見(jiàn)的事情,比如遠(yuǎn)程讀取圖片,調(diào)用后端接口等等,這篇文章主要給大家介紹了關(guān)于Vue3異步數(shù)據(jù)加載組件suspense的使用方法,suspense中文含義是懸念的意思,需要的朋友可以參考下

前言

Vue3 增加了很多讓人眼前一亮的特征,suspense 組件就是其中之一,對(duì)處理異步請(qǐng)求數(shù)據(jù)非常實(shí)用,本文通過(guò)簡(jiǎn)單的實(shí)例介紹其使用方法,如對(duì)其有興趣,可以參閱官方文檔。

通常組件在正確呈現(xiàn)之前需要執(zhí)行某種異步請(qǐng)求是很常見(jiàn)的,通常是通過(guò)設(shè)計(jì)一種機(jī)制開(kāi)發(fā)人員按照機(jī)制處理這個(gè)問(wèn)題,有很多很好的方法實(shí)現(xiàn)這個(gè)需求。

例如,從一個(gè) API 異步獲取數(shù)據(jù),并希望在獲取響應(yīng)數(shù)據(jù)解析完時(shí)顯示一些信息,如 loading 效果,在Vue3中可以使用 suspense 組件來(lái)執(zhí)行這樣的需求。

創(chuàng)建組件

創(chuàng)建一個(gè)組件并將其命名為Peoples.vue,其組件代碼如下:

<template>
    <div v-for="(people, index) in peoples.results" :key="index">
        {{ people.name }} {{ people.birth_year }}
    </div>
</template>
<script>
import { ref } from "vue";
export default {
    name: "CyPeoples",
    async setup() {
        const peoples = ref(null);
        const headers = { "Content-Type": "application/json" };
        const fetchPeoples = await fetch("https://swapi.dev/api/people", {
            headers,
        });
        peoples.value = await fetchPeoples.json();
        return { peoples };
    },
};
</script>

這里將引入 ref 以確保組件狀態(tài)的反應(yīng)性。因此,根據(jù)上面的代碼片段,通過(guò)異步 API 調(diào)用獲取電影數(shù)據(jù)。
對(duì)于VUE項(xiàng)目中發(fā)起 HTTP 請(qǐng)求,通常是使用 Axios ,這里嘗試使用 fetch 。

好的,現(xiàn)在就來(lái)使用 suspense 在應(yīng)用程序內(nèi)顯示數(shù)據(jù)加載中的信息。

修改 App.vue 文件,使其代碼如下:

<template>
    <div>
        <h1>星球大戰(zhàn)人物</h1>
    </div>
    <suspense>
        <template #default>
            <CyPeoples />
        </template>
        <template #fallback>
            <div>
                <h3>數(shù)據(jù)加載中……</h3>
            </div>
        </template>
    </suspense>
</template>
<script>
import CyPeoples from "./components/Peoples.vue";
import { suspense } from "vue";
export default {
    name: "App",
    components: {
        CyPeoples,
        suspense,
    },
};
</script>

從上面的代碼片段中,使用組件 suspense  可以很簡(jiǎn)單就實(shí)現(xiàn)了 loading 的效果,帶有 #default  為初始化模板組件,顯示異步請(qǐng)求完成之后的 UI 。帶有 #fallback 為異步請(qǐng)求中的處理 UI ,即常見(jiàn)的 loading 效果。

總結(jié)

suspense 組件為Vue3的一個(gè)新特性,簡(jiǎn)化異步請(qǐng)求UI的處理邏輯。

到此這篇關(guān)于Vue3異步數(shù)據(jù)加載組件suspense的文章就介紹到這了,更多相關(guān)Vue3異步數(shù)據(jù)加載組件suspense內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3自定義hooks/可組合函數(shù)方式

    vue3自定義hooks/可組合函數(shù)方式

    這篇文章主要介紹了vue3自定義hooks/可組合函數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • uniapp開(kāi)發(fā)打包成H5部署到服務(wù)器的詳細(xì)步驟

    uniapp開(kāi)發(fā)打包成H5部署到服務(wù)器的詳細(xì)步驟

    前端使用uniapp開(kāi)發(fā)項(xiàng)目完成后,需要將頁(yè)面打包,生成H5的靜態(tài)文件,部署在服務(wù)器上這樣通過(guò)服務(wù)器鏈接地址,直接可以在手機(jī)上點(diǎn)開(kāi)來(lái)訪問(wèn),下面小編給大家講解uniapp開(kāi)發(fā)打包成H5部署到服務(wù)器的步驟,感興趣的朋友一起看看吧
    2022-11-11
  • vue2中如何使用swiper@5.4.5

    vue2中如何使用swiper@5.4.5

    這篇文章主要介紹了vue2中如何使用swiper@5.4.5問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 詳解基于mpvue微信小程序下載遠(yuǎn)程圖片到本地解決思路

    詳解基于mpvue微信小程序下載遠(yuǎn)程圖片到本地解決思路

    這篇文章主要介紹了詳解基于mpvue微信小程序下載遠(yuǎn)程圖片到本地解決思路,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05
  • vue組件初學(xué)_彈射小球(實(shí)例講解)

    vue組件初學(xué)_彈射小球(實(shí)例講解)

    下面小編就為大家?guī)?lái)一篇vue組件初學(xué)_彈射小球(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • Vue+Element-ui表單resetFields無(wú)法重置問(wèn)題

    Vue+Element-ui表單resetFields無(wú)法重置問(wèn)題

    本文主要介紹了Vue+Element-ui表單resetFields無(wú)法重置問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Vue3?通過(guò)作用域插槽實(shí)現(xiàn)樹(shù)形菜單嵌套組件

    Vue3?通過(guò)作用域插槽實(shí)現(xiàn)樹(shù)形菜單嵌套組件

    這篇文章主要為大家介紹了Vue3?通過(guò)作用域插槽實(shí)現(xiàn)樹(shù)形菜單嵌套組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • vue3+ts封裝彈窗及封裝分頁(yè)的示例代碼

    vue3+ts封裝彈窗及封裝分頁(yè)的示例代碼

    這篇文章主要介紹了vue3+ts封裝彈窗及封裝分頁(yè)的示例代碼,本文通過(guò)定義defaultDialog .vue,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Vue.extend實(shí)現(xiàn)掛載到實(shí)例上的方法

    Vue.extend實(shí)現(xiàn)掛載到實(shí)例上的方法

    這篇文章主要介紹了Vue.extend實(shí)現(xiàn)掛載到實(shí)例上的方法,結(jié)合實(shí)例形式分析了Vue.extend實(shí)現(xiàn)掛載到實(shí)例上的具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-05-05
  • 初識(shí) Vue.js 中的 *.Vue文件

    初識(shí) Vue.js 中的 *.Vue文件

    vue.js是一套構(gòu)建用戶界面的漸進(jìn)式框架,它采用自底向上增量開(kāi)發(fā)的設(shè)計(jì).這篇文章主要介紹了VueJs 填坑日記之初識(shí) *.Vue文件,需要的朋友可以參考下
    2017-11-11

最新評(píng)論

桐梓县| 兰考县| 密云县| 公主岭市| 合阳县| 奈曼旗| 汽车| 宁强县| 梁平县| 公主岭市| 农安县| 西昌市| 呼玛县| 河北区| 新源县| 全州县| 湾仔区| 新密市| 徐水县| 龙井市| 裕民县| 临猗县| 新建县| 广饶县| 曲靖市| 白银市| 绥化市| 四子王旗| 马龙县| 梧州市| 双柏县| 民权县| 嘉善县| 丹东市| 关岭| 五原县| 巍山| 雷山县| 中江县| 靖宇县| 大足县|