亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

使用場(chǎng)景:

有些場(chǎng)景會(huì)需要在兩個(gè)組件間來(lái)回切換,比如 Tab 界面:
我們可以通過(guò) Vue 的<component> 元素和特殊的 is attribute 實(shí)現(xiàn)的:如

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

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

  • 被注冊(cè)的組件名
  • 導(dǎo)入的組件對(duì)象
    你也可以使用 isattribute 來(lái)創(chuàng)建一般的 HTML 元素。

當(dāng)使用 <component :is="...">來(lái)在多個(gè)組件間作切換時(shí),被切換掉的組件會(huì)被卸載。我們可以通過(guò) <KeepAlive> 組件強(qiáng)制被切換掉的組件仍然保持“存活”的狀態(tài)。

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

1、注意事項(xiàng)

1、在Vue2 的時(shí)候is是通過(guò)組件名稱切換的,在Vue3 setup是通過(guò)組件實(shí)例切換的

2、如果直接把組件實(shí)例放到reactive中代理,vue會(huì)發(fā)出警告。告知我們可以通過(guò)shallowRef 或者 markRaw 跳過(guò)proxy 代理。因?yàn)榻M件實(shí)例進(jìn)行響應(yīng)式代理毫無(wú)意義,且浪費(fèi)性能

在這里插入圖片描述

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

子組件通過(guò)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
  }
  // 從復(fù)雜數(shù)據(jù)類型中取出自己想要的幾個(gè)屬性
  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>

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

相關(guān)文章

  • 使用kbone解決Vue項(xiàng)目同時(shí)支持小程序問(wèn)題

    使用kbone解決Vue項(xiàng)目同時(shí)支持小程序問(wèn)題

    這篇文章主要介紹了使用kbone解決Vue項(xiàng)目同時(shí)支持小程序問(wèn)題,本文通過(guò)一個(gè)todo的例子跟大家詳細(xì)介紹,需要的朋友可以參考下
    2019-11-11
  • Vite?vue3多頁(yè)面入口打包以及部署踩坑實(shí)戰(zhàn)

    Vite?vue3多頁(yè)面入口打包以及部署踩坑實(shí)戰(zhàn)

    因?yàn)槲覀児镜捻?xiàng)目是多頁(yè)面應(yīng)用,不同于傳統(tǒng)單頁(yè)面應(yīng)用,一個(gè)包就可以了,下面這篇文章主要給大家介紹了關(guān)于Vite?vue3多頁(yè)面入口打包以及部署踩坑的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • nginx+vue.js實(shí)現(xiàn)前后端分離的示例代碼

    nginx+vue.js實(shí)現(xiàn)前后端分離的示例代碼

    這篇文章主要介紹了nginx+vue.js實(shí)現(xiàn)前后端分離的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • vue改變數(shù)據(jù)后數(shù)據(jù)變化頁(yè)面不刷新的解決方法

    vue改變數(shù)據(jù)后數(shù)據(jù)變化頁(yè)面不刷新的解決方法

    這篇文章主要給大家介紹了關(guān)于vue改變數(shù)據(jù)后數(shù)據(jù)變化頁(yè)面不刷新的解決方法,vue比較常見(jiàn)的坑就是數(shù)據(jù)(后臺(tái)返回)更新了,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • vue中的使用token的方法示例

    vue中的使用token的方法示例

    這篇文章主要介紹了vue中的使用token的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Vue中使用highlight.js實(shí)現(xiàn)代碼高亮顯示以及點(diǎn)擊復(fù)制

    Vue中使用highlight.js實(shí)現(xiàn)代碼高亮顯示以及點(diǎn)擊復(fù)制

    本文主要介紹了Vue中使用highlight.js實(shí)現(xiàn)代碼高亮顯示以及點(diǎn)擊復(fù)制,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • vue3實(shí)現(xiàn)鼠標(biāo)右鍵顯示菜單,點(diǎn)擊其他地方消失問(wèn)題

    vue3實(shí)現(xiàn)鼠標(biāo)右鍵顯示菜單,點(diǎn)擊其他地方消失問(wèn)題

    這篇文章主要介紹了vue3實(shí)現(xiàn)鼠標(biāo)右鍵顯示菜單,點(diǎn)擊其他地方消失問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • webpack+vue-cil 中proxyTable配置接口地址代理操作

    webpack+vue-cil 中proxyTable配置接口地址代理操作

    這篇文章主要介紹了webpack+vue-cil 中proxyTable配置接口地址代理操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • 前端Vue2、Vue3和不同版本nuxt的插槽使用詳解

    前端Vue2、Vue3和不同版本nuxt的插槽使用詳解

    這篇文章主要介紹了前端Vue2、Vue3和不同版本nuxt的插槽使用的相關(guān)資料,Vue2和Vue3中,插槽機(jī)制允許在組件模板中定義占位符,并在使用組件時(shí)插入自定義內(nèi)容,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • vue3 setup點(diǎn)擊跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)示例

    vue3 setup點(diǎn)擊跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)示例

    本文主要介紹了vue3 setup點(diǎn)擊跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10

最新評(píng)論