国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue3動(dòng)態(tài)組件組件shallowRef包裹問(wèn)題

這篇具有很好參考價(jià)值的文章主要介紹了vue3動(dòng)態(tài)組件組件shallowRef包裹問(wèn)題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在vue3做tabs切換功能的時(shí)候,如果導(dǎo)入的組件不適用shallowRef包裹會(huì)顯示下面的警告:

Home.vue?t=1708401434509:43 [Vue warn]: Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`. 
Component that was made reactive:  {__hmrId: '2afd162d', __file: 'D:/v3code/my-big-charts/src/components/Comp7.vue', render: ?} 
  at <Home onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< Proxy(Object)?{__v_skip: true} > > 
  at <RouterView> 
  at <App>

根據(jù)提示代碼修改如下:

<script setup>
import {ref,reactive,readonly,computed,watch,watchEffect,markRaw,shallowRef} from 'vue'
import Comp7 from '../components/Comp7.vue'
import Comp6 from '../components/Comp6.vue'
const activeComp = shallowRef(Comp6)
const tab = reactive([{
    name: "A組件",
    comName: shallowRef(Comp6)
}, {
    name: "B組件",
    comName: shallowRef(Comp7
}])
const change = index=>{
    activeComp.value = tab[index].comName
}
</script>
<template>
    <ul>
        <li v-for="(item,index) in tab" :key="item.name" @click="change(index)">{{ item.name }}</li>
    </ul>
    <div>
        <component :is="activeComp"></component>
    </div>
</template>

就能解決上面的問(wèn)題。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-835217.html

到了這里,關(guān)于vue3動(dòng)態(tài)組件組件shallowRef包裹問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Vue3 知識(shí)第六講】ref、 shallowRef、unref、isRef 等系列知識(shí)應(yīng)用

    ref() 方法接受一個(gè)內(nèi)部值,返回一個(gè)響應(yīng)式的、可更改的 ref 對(duì)象,此對(duì)象只有一個(gè)指向其內(nèi)部值的屬性 .value ref 對(duì)象是可更改的,也就是說(shuō)你可以為 .value 賦予新的值。它也是響應(yīng)式的,即所有對(duì) .value 的操作都將被追蹤,并且寫操作會(huì)觸發(fā)與之相關(guān)的副作用。 如果將一個(gè)對(duì)

    2024年02月09日
    瀏覽(13)
  • vue3 動(dòng)態(tài)組件和異步組件

    vue3 動(dòng)態(tài)組件和異步組件

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

    2024年02月08日
    瀏覽(22)
  • Vue3 動(dòng)態(tài)組件

    Vue3 動(dòng)態(tài)組件

    父組件 子組件A,B,C 點(diǎn)擊A顯示A組件內(nèi)的信息,點(diǎn)擊B顯示B組組件內(nèi)的信息

    2024年02月12日
    瀏覽(25)
  • (vue3)動(dòng)態(tài)組件

    什么是動(dòng)態(tài)組件 就是:讓多個(gè)組件使用同一個(gè)掛載點(diǎn),并動(dòng)態(tài)切換,這就是動(dòng)態(tài)組件。 在掛載點(diǎn)使用component標(biāo)簽,然后使用v-bind:is=”組件?,通過(guò)is 切換 A B 組件 使用場(chǎng)景 tab切換?居多 注意事項(xiàng)? 1.在Vue2 的時(shí)候is 是通過(guò)組件名稱切換的 在Vue3 setup 是通過(guò)組件實(shí)例切換的 2.如

    2024年02月13日
    瀏覽(22)
  • vue3動(dòng)態(tài)組件

    vue3動(dòng)態(tài)組件

    ?1 、 可以通過(guò)? shallowRef 把? 可以把組件進(jìn)行包裹 為什么用shallowRef ? ? ?如果傳入基本數(shù)據(jù)類型,那么 shallowRef 與 ref 的作用基本沒(méi)有什么區(qū)別,也就是淺層的 ref 的內(nèi)部值將會(huì)原樣的存儲(chǔ)和暴露,并不會(huì)被深層遞歸地轉(zhuǎn)為響應(yīng)式 當(dāng)我們使用ref? ?會(huì)有提醒建議使用? shallowRef ?

    2024年02月12日
    瀏覽(13)
  • Vue3技術(shù)6之toRef和toRefs、shallowReactive與shallowRef、readonly與shallowReadonly

    Vue3技術(shù)6之toRef和toRefs、shallowReactive與shallowRef、readonly與shallowReadonly

    App.vue Demo.vue 原理: App.vue DemoTwo.vue 作用:創(chuàng)建一個(gè)ref對(duì)象,其value值指向另一個(gè)對(duì)象中的某個(gè)屬性 語(yǔ)法: const name=toRef(person,‘name’) 應(yīng)用:要將響應(yīng)式對(duì)象中的某個(gè)屬性單獨(dú)提供給外部使用時(shí) 擴(kuò)展: toRefs 與 toRef 功能一致,但可以批量創(chuàng)建多個(gè)ref 對(duì)象,語(yǔ)法: toRefs(perso

    2023年04月24日
    瀏覽(17)
  • vue3動(dòng)態(tài)加載組件

    當(dāng) is 是字符串,它既可以是 HTML 標(biāo)簽名也可以是組件的注冊(cè)名。 或者,is 也可以直接綁定到組件的定義。 內(nèi)置組件都可以傳遞給 is,但是如果想通過(guò)名稱傳遞則必須先對(duì)其進(jìn)行注冊(cè)。 如果將組件本身傳遞給 is 而不是其名稱,則不需要注冊(cè)。 vue官方文檔-component內(nèi)置動(dòng)態(tài)組件

    2024年02月13日
    瀏覽(25)
  • vue3 reactive包裹數(shù)組無(wú)法頁(yè)面無(wú)法響應(yīng)式

    原代碼如下: 此時(shí)removeItem方法運(yùn)行,打印出historyAccount的值確實(shí)被改變了,但是頁(yè)面還是沒(méi)有變化 原因: 如果你直接通過(guò)賦值的方式改變 reactive 對(duì)象引用的數(shù)組,是不會(huì)觸發(fā)視圖的更新的,應(yīng)該使用 Vue 提供的響應(yīng)式方法來(lái)更新響應(yīng)式數(shù)據(jù)。 ?改進(jìn):可以利用splice方法刪除

    2024年04月09日
    瀏覽(32)
  • VITE+VUE3動(dòng)態(tài)導(dǎo)入組件

    通常的動(dòng)態(tài)組件導(dǎo)入方式 ??vue中又是時(shí)候我們會(huì)使用到動(dòng)態(tài)組件導(dǎo)入,比如路由組件的動(dòng)態(tài)導(dǎo)入,一般類似路由組件的動(dòng)態(tài)導(dǎo)入的方式: ()=import(path); ()=defineAsyncComponent(()=import(path)) vite中使用的錯(cuò)誤 但是這寫方式進(jìn)行動(dòng)態(tài)導(dǎo)入組件的時(shí)候在vite+vue3項(xiàng)目下都是不行的,開(kāi)發(fā)

    2024年02月14日
    瀏覽(26)
  • VUE3+vite項(xiàng)目中動(dòng)態(tài)引入組件和異步組件

    1. 把項(xiàng)目中所有vue文件注冊(cè)成異步組件。 2. 獲取組件 在setup函數(shù)獲取組件 3. 參考如下 Glob 導(dǎo)入 Vite 支持使用特殊的 import.meta.glob 函數(shù)從文件系統(tǒng)導(dǎo)入多個(gè)模塊: 以上將會(huì)被轉(zhuǎn)譯為下面的樣子: 你可以遍歷 modules 對(duì)象的 key 值來(lái)訪問(wèn)相應(yīng)的模塊: 匹配到的文件默認(rèn)是懶加載的

    2024年02月10日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包