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

vue動態(tài)組件之:is在組件中的使用場景

 更新時間:2023年07月07日 10:54:01   作者:seekHelp  
這篇文章主要介紹了vue動態(tài)組件之:is在組件中的使用場景,本文結合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

vue動態(tài)組件之:is在組件中的使用

使用場景:

有些場景會需要在兩個組件間來回切換,比如 Tab 界面:
我們可以通過 Vue 的<component> 元素和特殊的 is attribute 實現(xiàn)的:如

<!-- currentTab 改變時組件也改變 -->
<component :is="currentTab"></component>

在上面的例子中,被傳給:is的值可以是以下幾種:

  • 被注冊的組件名
  • 導入的組件對象
    你也可以使用 isattribute 來創(chuàng)建一般的 HTML 元素。

當使用 <component :is="...">來在多個組件間作切換時,被切換掉的組件會被卸載。我們可以通過 <KeepAlive> 組件強制被切換掉的組件仍然保持“存活”的狀態(tài)。

vue3中的:is 動態(tài)組件

1、注意事項

1、在Vue2 的時候is是通過組件名稱切換的,在Vue3 setup是通過組件實例切換的

2、如果直接把組件實例放到reactive中代理,vue會發(fā)出警告。告知我們可以通過shallowRef 或者 markRaw 跳過proxy 代理。因為組件實例進行響應式代理毫無意義,且浪費性能

在這里插入圖片描述

2、:is 動態(tài)組件使用

子組件通過defineProps接受傳參

<template>
  <div class="content">
    <div class="tabs" v-for="item in tabArr" :key="item.name" @click="tabChange(item.comName)">
      {{ item.name }}
    </div>
  </div>
  <component :is="currentCom"></component>
</template>
<script setup lang="ts">
  import { ref, reactive, markRaw } from 'vue'
  import A from './A.vue'
  import B from './B.vue'
  import C from './C.vue'
  type Tab = {
    name: string,
    comName: any
  }
  // 從復雜數(shù)據(jù)類型中取出自己想要的幾個屬性
  type Com = Pick<Tab, 'comName'>
  const tabArr = reactive<Tab[]>([
    {
      name: 'A組件',
      comName: markRaw(A)
    },
    {
      name: 'B組件',
      comName: markRaw(B)
    },
    {
      name: 'C組件',
      comName: markRaw(C)
    },
  ])
  const currentCom = ref<Com>(tabArr[0].comName)
  const tabChange = (item: Com) => {
    currentCom.value = item
  }
</script>
<style>
  .content {
    display: flex;
    padding: 20px;
    height: 40px;
    width: 100vw;
    background: #f1f1f1;
  }
  .tabs {
    width: 100px;
    height: 40px;
    background: #ffffff;
    margin-right: 5px;
    border: 1px solid #000;
  }
</style>

到此這篇關于vue - 動態(tài)組件(:is在組件中的使用)的文章就介紹到這了,更多相關vue動態(tài)組件:is內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 公共組件父子依賴調用及子校驗父條件問題解決

    公共組件父子依賴調用及子校驗父條件問題解決

    這篇文章主要介紹了如何解決公共組件父子組件依賴調用和子組件校驗父組件條件的問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • 加快Vue項目的開發(fā)速度的方法

    加快Vue項目的開發(fā)速度的方法

    這篇文章主要介紹了加快Vue項目的開發(fā)速度的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 如何解決d3.event在v7版本無效影響zoom拖拽縮放問題

    如何解決d3.event在v7版本無效影響zoom拖拽縮放問題

    這篇文章主要介紹了如何解決d3.event在v7版本無效影響zoom拖拽縮放問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue異步更新DOM及$nextTick執(zhí)行機制解讀

    Vue異步更新DOM及$nextTick執(zhí)行機制解讀

    這篇文章主要介紹了Vue異步更新DOM及$nextTick執(zhí)行機制解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Vue打印錯誤日志問題

    Vue打印錯誤日志問題

    這篇文章主要介紹了Vue打印錯誤日志問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 一文詳解vue3項目實戰(zhàn)中的接口調用

    一文詳解vue3項目實戰(zhàn)中的接口調用

    在企業(yè)開發(fā)過程中,往往有著明確的前后端的分工,前端負責接收、使用接口,后端負責編寫、處理接口,下面這篇文章主要給大家介紹了關于vue3項目實戰(zhàn)中的接口調用的相關資料,需要的朋友可以參考下
    2022-12-12
  • vue+springboot上傳大文件的實現(xiàn)示例

    vue+springboot上傳大文件的實現(xiàn)示例

    本文主要介紹了vue+springboot上傳大文件的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • vue開發(fā)移動端底部導航條功能

    vue開發(fā)移動端底部導航條功能

    這篇文章主要介紹了vue開發(fā)移動端底部導航條功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 一文詳解Vue中的虛擬DOM與Diff算法

    一文詳解Vue中的虛擬DOM與Diff算法

    vue中的diff算法時常是面試過程中的考點,本文將為大家講解何為diff以及diff算法的實現(xiàn)過程,那么在了解diff之前,我們需要先了解虛擬DOM是什么,需要的朋友可以參考下
    2024-02-02
  • vue 指定文字高亮的實現(xiàn)示例

    vue 指定文字高亮的實現(xiàn)示例

    在做文字處理的項目時經(jīng)常會遇到搜索文字并高亮的需求,本文就來介紹vue 指定文字高亮的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12

最新評論

通渭县| 独山县| 海淀区| 惠州市| 宁陵县| 涟水县| 稻城县| 淮阳县| 肃宁县| 沙坪坝区| 焦作市| 兖州市| 永福县| 板桥市| 定襄县| 两当县| 兴宁市| 阜新市| 泗水县| 玛多县| 柯坪县| 荔浦县| 东安县| 翁牛特旗| 天长市| 丰镇市| 花莲市| 夏津县| 邵武市| 岑巩县| 正蓝旗| 余干县| 玉林市| 靖边县| 丰顺县| 安西县| 南靖县| 庆阳市| 蒲城县| 哈密市| 洮南市|