欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談關(guān)于.vue文件中style的scoped屬性

 更新時間:2017年08月19日 18:51:35   作者:zuank  
本篇文章主要主要介紹了淺談關(guān)于.vue文件中style的scoped屬性,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了.vue文件中style的scoped屬性以及踩到的坑,具體如下:

scoped可以實現(xiàn)style只作用于當(dāng)前的.vue文件

<template>
  <div class="user"></div>
</template>
<script>

</script>

<style lang='less' scoped>
.user {
  color:#333;
}
</style>

上面的文件渲染出的dom結(jié)構(gòu)會是這樣的

<div data-v-53795c54 class="user"></div>

css樣式是這樣的

.user[data-v-53795c54] {
  color:#333;
}

這樣就現(xiàn)實了樣式只作用于當(dāng)前.vue文件。

問題:添加scoped屬性后樣式不起作用

原因是,css被構(gòu)建成.user[data-v-53795c54] 但是doc節(jié)點依然是普通的<div class="user"></div>,導(dǎo)致樣式不能作用在dom上而失效。

原因在引用的組件上,解決的方法是將scoped屬性關(guān)閉。

scoped關(guān)閉時的使用建議

如果需要將scoped關(guān)閉,那么style就是作用于整個單頁應(yīng)用

可是我們?nèi)匀幌胍獦邮街饔糜诋?dāng)前的.vue文件,減少對其他文件樣式的影響

1、給template下的根節(jié)點加一個class,并基于這個class添加樣式

<template>
<div class="user">
<p class="name">zaunk</p>
</div>
</template>
<script>

</script>

<style lang='less>
.user {
color:#333;
.name {
color:#122222;
}
}
</style>

2、基于第一條建議,不要有定義兩個相同class名稱的根節(jié)點,因為都作用于整個單頁會有一個失效。

3、不要使用 span {}這種做樣式設(shè)置。因為

<template>
<div class="user">
<el-button class="name">zaunk</el-button>
</div>
</template>
<style lang='less>
.user {
color:#333;
span {
color:#122222;
}
}
</style>

上面的樣式同樣會作用于組件el-button,這是很危險的

在vue組件中style scoped中遇到的坑

在uve組件中我們我們經(jīng)常需要給style添加scoped來使得當(dāng)前樣式只作用于當(dāng)前組件的節(jié)點。添加scoped之后,實際上vue在背后做的工作是將當(dāng)前組件的節(jié)點添加一個像data-v-1233這樣唯一屬性的標(biāo)識,當(dāng)然也會給當(dāng)前style的所有樣式添加[data-v-1233]這樣的話,就可以使得當(dāng)前樣式只作用于當(dāng)前組件的節(jié)點。但是我們需要注意的是如果我們添加了子組件,同樣的,如果子組件也用scoped標(biāo)識了,那么在父組件中是不能設(shè)置子組件中的節(jié)點的。若父組件有scoped,子組件沒有設(shè)置,同樣,也是不能在父組件中設(shè)置子組件的節(jié)點的樣式的,因為父組件用了scoped,那么父組件中style設(shè)置的樣式都是唯一的了,不會作用與其他的組件樣式,我在用vue-quill-editor富文本編輯器的時候就遇到了這個坑,我只是想讓內(nèi)容區(qū)設(shè)置一個高度,這樣的話,是必須在App.vue中設(shè)置的,我們App.vue相當(dāng)于根容器,沒有設(shè)置scoped,所以是可以設(shè)置的。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue手寫加載動畫項目

    vue手寫加載動畫項目

    這篇文章主要為大家詳細(xì)介紹了vue手寫加載動畫項目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • vue如何批量引入組件、注冊和使用詳解

    vue如何批量引入組件、注冊和使用詳解

    這篇文章主要給大家介紹了關(guān)于vue如何批量引入組件、注冊和使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Vue自定義部分頁面顯示導(dǎo)航欄功能

    Vue自定義部分頁面顯示導(dǎo)航欄功能

    這篇文章主要介紹了Vue自定義部分頁面顯示導(dǎo)航欄,在設(shè)計導(dǎo)航欄的時候,考慮到登錄之前不能瀏覽該網(wǎng)站,所以需要在登錄頁和注冊頁不能出現(xiàn)導(dǎo)航欄,登錄后的頁面才能出現(xiàn)導(dǎo)航欄,本文給大家解決這個問題,感興趣的朋友跟隨小編一起看看吧
    2022-10-10
  • 淺談vue中.vue文件解析流程

    淺談vue中.vue文件解析流程

    這篇文章主要介紹了淺談vue中.vue文件解析流程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Vue3?watchEffect的使用教程和相關(guān)概念

    Vue3?watchEffect的使用教程和相關(guān)概念

    Vue?3?引入了?Composition?API,其中?watchEffect?是一個非常強大的工具,用于響應(yīng)式地追蹤依賴項的變化,本文將詳細(xì)介紹?watchEffect?的使用方法和相關(guān)概念,文中有詳細(xì)的代碼供大家參考,需要的朋友可以參考下
    2024-08-08
  • Vue中使用 ElementUi 的 el-select 實現(xiàn)全選功能(思路詳解)

    Vue中使用 ElementUi 的 el-select 實現(xiàn)全選功能(思路詳解

    在開發(fā)中,有一個需求是 選項組件中使用到一個 全選的功能,特在這記錄下實現(xiàn)的方法,方便后續(xù)的查閱,以及方便大家查閱借鑒,對vue   ElementUi 全選功能感興趣的朋友一起看看吧
    2024-02-02
  • Vue插槽的作用

    Vue插槽的作用

    插槽(slot)是 vue 為組件的封裝者提供的能力。允許開發(fā)者在封裝組件時,把不確定的、希望由用戶指定的部分定義為插槽??梢园巡宀壅J(rèn)為是組件封裝期間,為用戶預(yù)留的內(nèi)容的占位符
    2022-09-09
  • vue.config.js完整配置教程

    vue.config.js完整配置教程

    這篇文章主要為大家介紹了vue.config.js的完整配置教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • vue+render+jsx實現(xiàn)可編輯動態(tài)多級表頭table的實例代碼

    vue+render+jsx實現(xiàn)可編輯動態(tài)多級表頭table的實例代碼

    這篇文章主要介紹了vue+render+jsx實現(xiàn)可編輯動態(tài)多級表頭table的實例代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的工作或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • vue3中組件傳值的多種方法總結(jié)

    vue3中組件傳值的多種方法總結(jié)

    學(xué)習(xí)過vue2的寶子們肯定知道,組件傳值是vue項目開發(fā)過程中必不可少的功能場景,下面這篇文章主要給大家介紹了關(guān)于vue3中組件傳值的多種方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01

最新評論