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

vue3的內(nèi)置組件匯總

 更新時間:2024年01月08日 10:12:26   作者:weixin79893765432...  
本文主要介紹了vue3的內(nèi)置組件匯總,詳細的介紹了Fragment,Teleport,Suspense三個組件的使用,具有一定的參考價值,感興趣的可以了解一下

官方給出的說明:

  • Fragment: Vue 3 組件不再要求有一個唯一的根節(jié)點,清除了很多無用的占位 div。
  • Teleport: 允許組件渲染在別的元素內(nèi),主要開發(fā)彈窗組件的時候特別有用。
  • Suspense: 異步組件,更方便開發(fā)有異步請求的組件。

一、fragment 片斷組件(了解)

  • 在 Vue2 中:組件必須有一個根標簽。
  • 在 Vue3 中:組件可以沒有根標簽,內(nèi)部會將多個標簽包含在一個 fragment 的虛擬元素中。

這樣的好處是:減少標簽層級,減小內(nèi)存占用。

二、teleport 瞬移組件

Teleport 是一種能夠?qū)?“我們的組件 html 結(jié)構(gòu)” 移動到指定位置的技術(shù)。

使用 teleport 組件時,需要指定 “移動位置”:

<teleport to="移動位置"></teleport>

例如:用 suspense 實現(xiàn)全屏彈窗

父組件A:

<template>
  <div class="tel_a">
    <h3>父組件A</h3>
    <son />
  </div>
</template>
<script setup>
  import { defineAsyncComponent } from 'vue'

  const Son = defineAsyncComponent(() => import('./components/son.vue'))
</script>
<style lang="less" scoped>
  .tel_a {
    width: 30%;
    background: #aaa;
    padding: 10px 30px;
  }
</style>

子組件B:

<template>
  <div class="tel_b">
    <div>子組件B</div>
    <button @click="modalOpen = true"> 打開全屏彈窗(teleport) </button>
    <teleport to="body">
      <div v-if="modalOpen" class="modal">
        <div class="content">
          我是一個teleport彈窗<br />(我的父組件是“body”)
          <button @click="modalOpen = false"> 關(guān)閉 </button>
        </div>
      </div>
    </teleport>
  </div>
</template>
<script setup>
  import { ref } from 'vue'

  const modalOpen = ref(false)
</script>
<style lang="less" scoped>
  .flex-center () {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .tel_b {
    padding: 10px;
    background: rgba(242, 177, 57);
  }
  .modal {
    .flex-center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    .content {
      .flex-center;
      flex-direction: column;
      text-align: center;
      width: 260px;
      height: 160px;
      padding: 10px;
      background-color: #fff;
      button {
        display: block;
        margin-top: 30px;
      }
    }
  }
</style>

效果如下:

請?zhí)砑訄D片描述

三、suspense 組件

suspense 組件支持:在等待異步組件加載時,渲染一些額外內(nèi)容。不必非得等異步組件加載完畢再渲染,避免了因異步加載帶來的白屏和閃屏問題的出現(xiàn),提高了用戶的體驗。

suspense 的使用步驟:

  • 先異步引入組件——defineAsyncComponent。
  • 然后用 suspense 包裹組件,并配置好 default 和 fallback

先異步引入組件:

import { defineAsyncComponent } from 'vue'
const Child = defineAsyncComponent(()=>import('./components/Child.vue'))

然后用 Suspense 包裹組件:

<template>
    <div class="app">
        <h3>我是App組件</h3>
        <Suspense>
            <template #default>
                <Child/>
            </template>
            <template #fallback>
                <h3>加載中.....</h3>
            </template>
        </Suspense>
    </div>
</template>

到此這篇關(guān)于vue3的內(nèi)置組件匯總的文章就介紹到這了,更多相關(guān)vue3 內(nèi)置組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Vue中使用mixin擴展組件功能的基本步驟

    Vue中使用mixin擴展組件功能的基本步驟

    Mixin是面向?qū)ο蟪绦蛟O(shè)計語言中的類,提供了方法的實現(xiàn),其他類可以訪問mixin類的方法而不必成為其子類在Vue中,可以使用mixin來擴展組件的功能,本文給大家介紹了Vue中如何使用mixin擴展組件功能,需要的朋友可以參考下
    2024-11-11
  • Vue.js 多項目同端口部署實戰(zhàn)指南(上下文路徑配置指南)

    Vue.js 多項目同端口部署實戰(zhàn)指南(上下文路徑配置指南)

    上下文路徑是指 Web應(yīng)用在服務(wù)器上的部署路徑前綴,通過設(shè)置不同的上下文路徑,多個應(yīng)用可以共享同一個IP和端口,通過URL路徑來區(qū)分,本文將從前端Vue.js配置到后端服務(wù)器部署,詳細介紹完整的實現(xiàn)方案,感興趣的朋友跟隨小編一起看看吧
    2026-02-02
  • vue實現(xiàn)兩級select聯(lián)動+input賦值+select選項清空

    vue實現(xiàn)兩級select聯(lián)動+input賦值+select選項清空

    這篇文章主要介紹了vue實現(xiàn)兩級select聯(lián)動+input賦值+select選項清空過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Vue中的異步組件函數(shù)實現(xiàn)代碼

    Vue中的異步組件函數(shù)實現(xiàn)代碼

    這篇文章主要介紹了Vue中的異步組件函數(shù)實現(xiàn)代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • Vuerouter的beforeEach與afterEach鉤子函數(shù)的區(qū)別

    Vuerouter的beforeEach與afterEach鉤子函數(shù)的區(qū)別

    本文詳細的介紹了Vuerouter的beforeEach與afterEach鉤子函數(shù)的區(qū)別和使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • vuex頁面刷新導(dǎo)致數(shù)據(jù)丟失的解決方案

    vuex頁面刷新導(dǎo)致數(shù)據(jù)丟失的解決方案

    這篇文章主要介紹了vuex頁面刷新導(dǎo)致數(shù)據(jù)丟失的解決方案,幫助大家更好的使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • 淺談Vue static 靜態(tài)資源路徑 和 style問題

    淺談Vue static 靜態(tài)資源路徑 和 style問題

    這篇文章主要介紹了淺談Vue static 靜態(tài)資源路徑 和 style問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 詳解Vue3框架的搭建及工程目錄

    詳解Vue3框架的搭建及工程目錄

    文章介紹了如何使用Node.js搭建Vue工程,并對Vue工程目錄進行了詳細解讀,包括各種文件夾和文件的作用,此外,還講解了如何設(shè)置網(wǎng)頁標題和全局樣式,以及如何配置路由,感興趣的朋友一起看看吧
    2025-03-03
  • Element-ui?Dialog對話框基本使用

    Element-ui?Dialog對話框基本使用

    這篇文章主要為大家介紹了Element-ui?Dialog對話框基本使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • vue3使用vue-router及路由權(quán)限攔截方式

    vue3使用vue-router及路由權(quán)限攔截方式

    這篇文章主要介紹了vue3使用vue-router及路由權(quán)限攔截方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04

最新評論

紫云| 习水县| 西乌珠穆沁旗| 天镇县| 姜堰市| 宁海县| 漾濞| 仁布县| 二连浩特市| 巩义市| 二连浩特市| 义乌市| 定结县| 西和县| 洪江市| 安龙县| 澄城县| 平谷区| 油尖旺区| 长顺县| 象州县| 长岭县| 玉龙| 札达县| 华宁县| 涟源市| 广安市| 岑溪市| 盐津县| 元阳县| 安徽省| 兰坪| 西华县| 庆安县| 宣汉县| 汉川市| 惠东县| 栾城县| 和政县| 定襄县| 龙岩市|