久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

vue 出現(xiàn)data-v-xxx的原因及解決

瀏覽:88日期:2022-12-18 09:10:54

現(xiàn)象:

在Vue開發(fā)中,會(huì)遇到html被瀏覽器解析后,在標(biāo)簽中出現(xiàn)’data-v-xxxxx’標(biāo)記,如下:

<div data-v-fcba8876 class='xxx'> aaa</div>

原因:

來看官方解釋:

<style scoped> @media (min-width: 250px) { .list-container:hover { background: orange; } }</style>The optional scoped attribute automatically scopes this CSS to your component by adding a unique attribute (such as data-v-21e5b78) to elements and compiling .list-container:hover to something like .list-container[data-v-21e5b78]:hover.

本人理解:

這是在標(biāo)記vue文件中css時(shí)使用scoped標(biāo)記產(chǎn)生的,因?yàn)橐WC各文件中的css不相互影響,給每個(gè)component都做了唯一的標(biāo)記,所以每引入一個(gè)component就會(huì)出現(xiàn)一個(gè)新的’data-v-xxx’標(biāo)記

補(bǔ)充知識:vue---獲取元素額外生成的data-v-xxx

vue 出現(xiàn)data-v-xxx的原因及解決

需求描述:由于樣式中使用了scoped,所以編譯后標(biāo)簽對中生成data-v-xxx屬性。在【.dialog_content】的div中 動(dòng)態(tài)添加元素節(jié)點(diǎn)p和span時(shí),也需要給元素節(jié)點(diǎn)添加data-v-xxx屬性。由于data-v-xxx屬性是會(huì)變化的,那如何獲取它,添加在動(dòng)態(tài)添加的元素節(jié)點(diǎn)中呢?本博客將給出解決方案。

【解決方法】

獲取屬性名【document.getElementById('dialog_submit').attributes[0].name】

設(shè)置屬性【nodeP.setAttribute(dataV, '')】

var nodeP = document.createElement('p'),nodeSpan = document.createElement('span');// 獲取data-v-xxxx的值var dataV = document.getElementById('dialog_submit').attributes[0].name;// 設(shè)置屬性nodeP.setAttribute(dataV, '');nodeSpan.setAttribute(dataV, '');

【補(bǔ)充知識】

當(dāng) <style> 標(biāo)簽有 scoped 屬性時(shí),它的 CSS 只作用于當(dāng)前組件中的元素。編譯時(shí)將生成data-v-xxx屬性,如下的“data-v-2bc3d899”就是因?yàn)榧恿藄coped.

<style scoped>.title { color:blue;}</style> <template> <div class='title'>hello</div></template>

上述代碼被編譯為:

<style>.title[data-v-f3f3eg9] { color: blue;}</style> <template> <div data-v-f3f3eg9>hello</div></template>

使用 scoped 后,父組件的樣式將不會(huì)滲透到子組件中。不過一個(gè)子組件的根節(jié)點(diǎn)會(huì)同時(shí)受其父組件的 scoped CSS 和子組件的 scoped CSS 的影響。這樣設(shè)計(jì)是為了讓父組件可以從布局的角度出發(fā),調(diào)整其子組件根元素的樣式。

深度作用選擇器:

如果希望 scoped 樣式中的一個(gè)選擇器能夠作用得“更深”,例如影響子組件,可以使用 >>> 操作符:

<style scoped>.a >>> .b { /* ... */ }</style>

上述代碼被編譯為:

.a[data-v-f3f3eg9] .b { /* ... */ }

以上這篇vue 出現(xiàn)data-v-xxx的原因及解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 最新久久精品 | 久久久一二三 | 精品国内 | 欧美日韩最新 | 久久免费精品视频 | 亚洲欧美精品一区二区三区 | 国产视频久久精品 | 91在线电影| 精品在线不卡 | 五月天在线婷婷 | 亚洲精品一区久久久久久 | 亚洲男人天堂网 | 亚洲成熟少妇视频在线观看 | 精品亚洲一区二区 | 日本不卡一区二区三区在线观看 | 玖玖精品在线 | 国产九九九 | 欧美不卡视频 | 日韩大尺度在线观看 | 久久草视频 | 国产日韩视频 | 国产一区免费在线观看 | 国产精品毛片久久久久久久 | 色偷偷888欧美精品久久久 | 免费成人av在线 | 亚洲伦理影院 | 国产精品毛片久久久久久久 | 亚洲一区在线日韩在线深爱 | 日韩在线资源 | 国产成人99久久亚洲综合精品 | 久久艹久久 | 国产精品久久久久久久久岛 | 国产精品美女久久久久aⅴ国产馆 | 欧美亚洲高清 | 国产精品一区二区三区四区 | 精品成人免费一区二区在线播放 | 啪啪免费网站 | 一级黄片毛片 | 91视频免费观看网址 | 日韩激情视频一区 | 亚洲综合中文网 |