vue3中的:deep()深度選擇器詳解
今天看到這篇文章被GitCode收錄,才發(fā)覺原來::v-deep已經被廢棄了,以前辛苦學習的時光還歷歷在目,如今卻已是時過境遷。所以更新一下文章,防止誤導他人。
1.什么是深度選擇器?
scoped 屬性是HTML5中的新屬性,<style>標簽在加上了scoped屬性時,樣式實現組件私有化,父組件的樣式不會滲透到子組件,不會造成局部或全局的污染。這個時候如果你想讓樣式中的一個選擇器作用得更深(滲透到子組件),可以使用深度選擇器:v-deep。
2.舉個栗子
在<style>中加了scoped屬性后,子組件的內部元素不會自動增加 data-v-xxxx屬性,我們直接修改element按鈕里的文字樣式時,這樣寫并不能生效,除非去掉scoped。
<template>
<el-row class="mb-4">
<el-button>按鈕</el-button>
</el-row>
</template>
<style lang="scss" scoped>
.el-button>span {
color: red;
}
</style>

使用:deep,即可解決這個問題
<template>
<el-row class="mb-4">
<el-button>按鈕</el-button>
</el-row>
</template>
<style lang="scss" scoped>
:deep(.el-button>span) {
color: red;
}
</style>

以前的寫法,現在已不支持:
>>> .el-button>span {
color: red;
}
::deep(.el-button>span){
color:red;
}不支持的寫法會報錯:

到此這篇關于vue3中的:deep()深度選擇器的文章就介紹到這了,更多相關vue3 :deep()深度選擇器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Vue動態(tài)擴展表頭的表格及數據方式(數組嵌套對象)
這篇文章主要介紹了Vue動態(tài)擴展表頭的表格及數據方式(數組嵌套對象),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
詳談vue中router-link和傳統(tǒng)a鏈接的區(qū)別
這篇文章主要介紹了詳談vue中router-link和傳統(tǒng)a鏈接的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07

