午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

Vue scoped及deep使用方法解析

瀏覽:194日期:2022-12-19 18:22:59

眾所周知,在組件中給style 標(biāo)簽添加屬性 scoped 屬性可以避免組件內(nèi)樣式對(duì)外界造成污染,scoped使得組件內(nèi)的樣式變成局域樣式,只作用于當(dāng)前組件。

原理如下-------

在編譯組件的時(shí)候,如果當(dāng)前組件內(nèi)style標(biāo)簽上有scoped屬性,那么會(huì)在當(dāng)前所有標(biāo)簽上添加一個(gè)【data-v-hash】屬性,而當(dāng)前樣式表內(nèi)的所有末尾選擇器后面也會(huì)加上該屬性,那么就使得當(dāng)前組件內(nèi)的樣式只會(huì)作用于當(dāng)前組件內(nèi)的元素。值得注意的是,當(dāng)父組件,子組件同時(shí)使用scoped屬性時(shí),子組件最外層的標(biāo)簽既會(huì)被加上當(dāng)前組件的hash值,又會(huì)加上父級(jí)組件的hash值,像這樣

//子組件最外層標(biāo)簽<div data-v-b45036b2 data-v-384b136e ></div>

但是有個(gè)問(wèn)題------

在我們用scoped的時(shí)候回發(fā)現(xiàn)一個(gè)問(wèn)題,就是我們?cè)诋?dāng)前組件內(nèi)使用的scoped,但是我想在當(dāng)前組件內(nèi)改變子組件的樣式(非最外層標(biāo)簽),的時(shí)候會(huì)發(fā)現(xiàn)不好使。

<style scoped>.father-div .child-div{color:red;}</style>

因?yàn)榈搅藶g覽器上會(huì)解析成

<div data-v-384b136e ></div> 

不好使的原因是應(yīng)為父組件內(nèi)樣式內(nèi)解析的是父組件的hash值,而子組件內(nèi)標(biāo)簽上添加的是子組件的hash值,對(duì)應(yīng)不上當(dāng)然沒(méi)效果,那怎么解決呢?

使用deep------

當(dāng)遇到這種困擾的時(shí)候我們可以另寫(xiě)一個(gè)style標(biāo)簽,然后不加scoped屬性,來(lái)蓋子組件的樣式,當(dāng)前這么寫(xiě)是可以的,但是不太優(yōu)雅,這時(shí)我們可以用到/deep/屬性,

.father-div /deep/ .child-div{color:red;}

當(dāng)遇到'/deep/'的時(shí)候會(huì)將'/deep/'的位置替換成組件的hash值,解析成

.father-div[data-v-b45036b2] .child-div{color:red;}

這樣只需要注意css的權(quán)重就可以覆蓋子組件內(nèi)的樣式了,

注意:子組件內(nèi)最外層的樣式由于是帶了父子組件的兩個(gè)hash值,所以是會(huì)被兩頭控制的,不需要/deep/就可以在父組件內(nèi)覆蓋樣式

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 免费一级全黄少妇性色生活片 | 亚洲成人av一区二区三区 | 亚洲精品男人天堂 | 日本黄色三级网站 | 超碰一级片| 国产成人精品一区二区三区网站观看 | 日韩亚洲视频 | 国产成人在线免费 | 婷婷六月丁 | 国产黄色片在线观看 | 亚洲福利天堂 | 99在线观看免费视频 | 青草伊人久久 | 日韩av成人在线 | 久久视频精品在线观看 | 日本黄色动态图 | 国产美女一区二区三区 | www黄在线观看 | 99久久影院 | 日本欧美国产 | 卡通动漫亚洲 | 2014天堂网| 在线免费观看日韩av | 欧美手机在线 | 精品自拍视频 | 欧美日韩另类视频 | 青青草网 | 91麻豆精品久久久久蜜臀 | 成人黄色在线播放 | 久久久亚洲一区 | 精品麻豆视频 | 欧美日韩一二三四区 | av福利网| 日韩精品在线一区 | 国产成人免费在线观看视频 | 巨乳在线观看 | 性天堂av| 国产精品自产拍在线观看 | 国产免费一区二区三区四在线播放 | 亚洲欧美国产视频 | 欧美日韩一区三区 |