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

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

 更新時間:2020年08月04日 09:43:17   作者:pobu168  
這篇文章主要介紹了vue 出現(xiàn)data-v-xxx的原因及解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

現(xiàn)象:

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

<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.

本人理解:

這是在標記vue文件中css時使用scoped標記產(chǎn)生的,因為要保證各文件中的css不相互影響,給每個component都做了唯一的標記,所以每引入一個component就會出現(xiàn)一個新的'data-v-xxx'標記

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

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

【解決方法】

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

設置屬性【nodeP.setAttribute(dataV, "")】

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

【補充知識】

當 <style> 標簽有 scoped 屬性時,它的 CSS 只作用于當前組件中的元素。編譯時將生成data-v-xxx屬性,如下的“data-v-2bc3d899”就是因為加了scoped.

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

上述代碼被編譯為:

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

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

深度作用選擇器:

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

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

上述代碼被編譯為:

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

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

相關(guān)文章

  • Vue中實現(xiàn)過渡動畫效果實例詳解

    Vue中實現(xiàn)過渡動畫效果實例詳解

    最近在寫vue的一個項目要實現(xiàn)過渡的效果,雖然vue動畫不是強項,庫也多,但是基本的坑還是得踩扎實,下面這篇文章主要給大家介紹了關(guān)于Vue中實現(xiàn)過渡動畫效果的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 圖文講解用vue-cli腳手架創(chuàng)建vue項目步驟

    圖文講解用vue-cli腳手架創(chuàng)建vue項目步驟

    本次小編給大家?guī)淼氖顷P(guān)于用vue-cli腳手架創(chuàng)建vue項目步驟講解內(nèi)容,有需要的朋友們可以學習下。
    2019-02-02
  • Vue3使用echarts繪制儀表盤

    Vue3使用echarts繪制儀表盤

    這篇文章主要為大家學習介紹了Vue3如何使用echarts實現(xiàn)繪制儀表盤,文中的示例代碼積極學習,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-07-07
  • vue使用js-audio-recorder實現(xiàn)錄音功能

    vue使用js-audio-recorder實現(xiàn)錄音功能

    這篇文章主要為大家詳細介紹了vue如何使用js-audio-recorder實現(xiàn)錄音功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • Vue?3?中使用?vue-router?進行導航與監(jiān)聽路由變化的操作

    Vue?3?中使用?vue-router?進行導航與監(jiān)聽路由變化的操作

    在Vue3中,通過useRouter和useRoute可以方便地實現(xiàn)頁面導航和路由變化監(jiān)聽,useRouter允許進行頁面跳轉(zhuǎn),而useRoute結(jié)合watch可以根據(jù)路由變化更新組件狀態(tài),這些功能為Vue3應用增加了靈活性和響應性,使得路由管理更加高效
    2024-09-09
  • 詳解Vue中組件的緩存

    詳解Vue中組件的緩存

    這篇文章主要介紹了Vue中組件的緩存,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • vue?頁面卡死,點擊無反應的問題及解決

    vue?頁面卡死,點擊無反應的問題及解決

    這篇文章主要介紹了vue?頁面卡死,點擊無反應的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue3中引入、封裝和使用svg矢量圖的實現(xiàn)示例

    Vue3中引入、封裝和使用svg矢量圖的實現(xiàn)示例

    SVG全稱Scalable Vector Graphics,它是網(wǎng)絡上使用最廣泛的矢量圖格式,在項目開發(fā)過程中,我們經(jīng)常會用到svg矢量圖,而且我們使用svg以后,頁面上加載的不再是圖片資源,本文將給大家介紹Vue3中引入、封裝和使用svg矢量圖的實現(xiàn)示例,需要的朋友可以參考下
    2024-07-07
  • vue組件實例解析

    vue組件實例解析

    Tag組件其實是一個很小的組件,業(yè)務價值很低,主要用于Vue新手入門。主要實現(xiàn)Vue常用的父組件改變子組件的值,view改變model,model的變化反應到view上,事件的綁定等功能。下面跟著小編一起來看下吧
    2017-01-01
  • vue中data和data()的區(qū)別說明

    vue中data和data()的區(qū)別說明

    這篇文章主要介紹了vue中data和data()的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論