vue3中Fragment特性的一個bug需要注意事項
vue3中的Fragment 模版碎片特性
vue3中的Fragment 模版碎片特性是什么,簡單的理解就是template模板代碼不在像vue2中那樣必須在根節(jié)點在包裹一層節(jié)點了。
vue2寫法
<template> <div> <h1>標(biāo)題</h1> <p>正文內(nèi)容</p> </div> </template>
vue3寫法
<template> <h1>標(biāo)題</h1> <p>正文內(nèi)容</p> </template>
vue3中Fragment特性的一個bug(需要留意的問題)
組件HelloWorld:
<template> <h1>2333</h1> <h1>666</h1> </template>
組件HelloWorld的使用
<template> <HelloWorld v-if="showBool" /> <!--v-if正常--> <HelloWorld v-show="showBool" /> <!--v-show異常,showBool為false還是顯示了--> </template> <script lang="ts" setup> import HelloWorld from '../components/HelloWorld.vue' const showBool = ref(false); <scrip>
同時控制臺waring :
[Vue warn]: Runtime directive used on component with non-element root node. The directives will not function as intended.
利用開發(fā)者模式看dom結(jié)構(gòu),發(fā)現(xiàn)v-show的display:none屬性完全是沒有的。
解決方法
還是遵循vue2的寫法那樣,根節(jié)點在包裹一層就行了。
組件:
<template> <div> <h1>標(biāo)題</h1> <p>正文內(nèi)容</p> </div> </template>
dom結(jié)構(gòu)發(fā)現(xiàn)v-show的display:none屬性有了。
目前vue3.4.15這個問題仍然是沒有解決的。在使用的時候還是需要注意。
以上就是vue3中Fragment特性的一個bug,需要留意的注意事項的詳細(xì)內(nèi)容,更多關(guān)于vue3中Fragment bug的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
公共Hooks封裝useTableData表格數(shù)據(jù)實例
這篇文章主要為大家介紹了公共Hooks封裝useTableData表格數(shù)據(jù)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Vue配置marked鏈接添加target="_blank"的方法
這篇文章主要介紹了Vue配置marked鏈接添加target="_blank"的方法,文中給大家提到了vue實現(xiàn)類似target="_blank"打開新窗口的代碼,感興趣的朋友參考下吧2019-07-07Vue.js中使用${}實現(xiàn)變量和字符串的拼接方式
這篇文章主要介紹了Vue.js中使用${}實現(xiàn)變量和字符串的拼接方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07VUE3中h()函數(shù)和createVNode()函數(shù)的使用解讀
這篇文章主要介紹了VUE3中h()函數(shù)和createVNode()函數(shù)的使用解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08