最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VUE中Non-Props屬性的使用

 更新時(shí)間:2023年05月29日 10:12:07   作者:一直酷下去  
本文主要介紹了VUE中Non-Props屬性的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

定義

父組件通過在子組件上定義屬性的方式,向子組件傳遞數(shù)據(jù),但是子組件不寫接收數(shù)據(jù)的語法props

子組件props接收數(shù)據(jù),但是不使用

父組件向子組件傳值,子組件通過props接收父組件傳遞過來的數(shù)據(jù),但是子組件沒有使用這個(gè)傳遞過來的數(shù)據(jù)

 const app = Vue.createApp({
    template:`
    <div>
        <counter msg='hello'/>
    </div>
    `
})
app.component('counter',{
    props:['msg']
    template:`<div>Counter</div>`
})
const vm = app.mount('#root')

看下DOM結(jié)構(gòu)

image.png

子組件不寫props

const app = Vue.createApp({
    template:`
    <div>
        <counter msg='hello'/>
    </div>
    `
})
app.component('counter',{
    template:`<div>Counter</div>`
})
const vm = app.mount('#root')

image.png

我們發(fā)現(xiàn),子組件的div上多了一個(gè)msg='hello'

當(dāng)使用non-props特性的時(shí)候,也就是父組件通過給子組件上添加屬性來傳遞數(shù)據(jù),但是子組件不寫props接收父組件傳遞過來的數(shù)據(jù)的時(shí)候,它會(huì)把父組件傳遞過來的內(nèi)容(在子組件上綁定的屬性連同值一起),放到子組件最外層的DOM標(biāo)簽上,變成子組件最外層DOM標(biāo)簽的一個(gè)屬性。

相當(dāng)于發(fā)生了這樣的過程:

子組件<div>Counter</div>

替換了

父組件引用子組件 <counter msg='hello'/>

同時(shí)將msg='hello'屬性放到子組件的DOM標(biāo)簽上了

變成了<div msg='hello>Counter</div>

子組件拒絕“被迫營(yíng)業(yè)”?

假如子組件并不想在它最外層的DOM標(biāo)簽上展示,父組件傳遞過來的屬性和值呢?

==> 那你子組件就加一個(gè)inheritAttrs: false告訴父組件吧,它的意思是“我子組件不繼承父組件傳遞過來的non-props屬性”

const app = Vue.createApp({
    template:`
    <div>
        <counter msg='hello'/>
    </div>
    `
})
app.component('counter',{
    inheritAttrs: false,
    template:`<div>Counter</div>`
})
const vm = app.mount('#root')

image.png

嗯~,你確實(shí)做到了

實(shí)際開發(fā)中有啥用呢?

額..,好像真的沒啥太大作用。但是當(dāng)父組件想給子組件添加style行內(nèi)樣式或者class樣式還是有用的嘛,強(qiáng)行洗白?

const app = Vue.createApp({
    template:`
    <div>
        <counter msg='hello' style="color:red;"/>
    </div>
    `
})
app.component('counter',{
    template:`<div>Counter</div>`
})
const vm = app.mount('#root')

子組件有多個(gè)根節(jié)點(diǎn)?

結(jié)果就是non-props不會(huì)作用于任何一個(gè)節(jié)點(diǎn),以免多個(gè)節(jié)點(diǎn)"暴力爭(zhēng)搶"

const app = Vue.createApp({
    template:`
    <div>
        <counter msg='hello' style="color:red;"/>
    </div>
    `
})
app.component('counter',{
    template:`
      <div>Counter</div>
      <div>Counter</div>
      <div>Counter</div>
    `
})
const vm = app.mount('#root')

image.png

如果就是有“私心”,就是想指定子組件某個(gè)節(jié)點(diǎn)繼承父組件全部的non-props呢?

那就在子組件的其中一個(gè)根節(jié)點(diǎn)使用v-bind="$attrs"

它的意思是子組價(jià)繼承父組件上所有的non-props屬性

 const app = Vue.createApp({
    template:`
    <div>
        <counter msg='hello' msg="hello" msg2="hello2"/>
    </div>
    `
})
app.component('counter',{
    template:`
      <div>Counter</div>
      <div v-bind="$attrs">Counter</div>
      <div>Counter</div>
    `
})
const vm = app.mount('#root')

image.png

當(dāng)然如果子組件只是想繼承父組件其中的某個(gè)non-props屬性也是可以的,畢竟“弱水三千,只取只取一瓢”,方法就是 v-bind:msg="$attrs.msg",通過在其中一個(gè)根節(jié)點(diǎn)上綁定動(dòng)態(tài)屬性(之所以加:,是因?yàn)榈忍?hào)后面是JS表達(dá)式,不是字符串)

const app = Vue.createApp({
    template:`
    <div>
        <counter msg='hello' msg="hello" msg2="hello2"/>
    </div>
    `
})
app.component('counter',{
    template:`
      <div>Counter</div>
      <div v-bind:msg="$attrs.msg">Counter</div>
      <div>Counter</div>
    `
})
const vm = app.mount('#root')

image.png

如何獲取Non-Props?

==> 通過this.$attrs

const app = Vue.createApp({
    template:`
    <div>
        <counter msg='hello' msg="hello" msg2="hello2"/>
    </div>
    `
})
app.component('counter',{
    mounted() {
        console.log(this.$attrs);
    },
    template:`
      <div>Counter</div>
      <div v-bind:msg="$attrs.msg">Counter</div>
      <div>Counter</div>
    `
})
const vm = app.mount('#root')

運(yùn)行結(jié)果

image.png

到此這篇關(guān)于VUE中Non-Props屬性的使用的文章就介紹到這了,更多相關(guān)VUE Non-Props屬性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • vue實(shí)現(xiàn)登錄時(shí)滑塊驗(yàn)證

    vue實(shí)現(xiàn)登錄時(shí)滑塊驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)登錄時(shí)滑塊驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue-treeselect(適配Vue3.2)及Element-plus的TreeSelect組件使用

    vue-treeselect(適配Vue3.2)及Element-plus的TreeSelect組件使用

    這篇文章主要介紹了vue-treeselect(適配Vue3.2)及Element-plus的TreeSelect組件使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • vue異步加載dom元素之后無法獲得的解決

    vue異步加載dom元素之后無法獲得的解決

    這篇文章主要介紹了vue異步加載dom元素之后無法獲得的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue項(xiàng)目中使用crypto-js實(shí)現(xiàn)加密解密方式

    vue項(xiàng)目中使用crypto-js實(shí)現(xiàn)加密解密方式

    這篇文章主要介紹了vue項(xiàng)目中使用crypto-js實(shí)現(xiàn)加密解密方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Vue頁面切換空白與刷新404問題的深度解析

    Vue頁面切換空白與刷新404問題的深度解析

    在使用?Vue.js?開發(fā)單頁應(yīng)用?(SPA)?的過程中,開發(fā)者經(jīng)常會(huì)遇到兩個(gè)常見問題,頁面切換時(shí)出現(xiàn)短暫的空白屏幕,以及刷新頁面時(shí)返回?404?錯(cuò)誤,下面我們就來講講這兩個(gè)問題該如何將解決吧
    2025-05-05
  • Element樹形控件el-tree懶加載并設(shè)置默認(rèn)展開和選中的效果

    Element樹形控件el-tree懶加載并設(shè)置默認(rèn)展開和選中的效果

    本文主要介紹了Element樹形控件el-tree懶加載并設(shè)置默認(rèn)展開和選中的效果,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Vue3?中自定義插件的實(shí)現(xiàn)方法

    Vue3?中自定義插件的實(shí)現(xiàn)方法

    在 Vue 中,一些簡(jiǎn)單的功能,我們可以直接定義為全局方法,然后掛到 Vue 上就能使用了,這篇文章主要介紹了Vue3?中自定義插件的實(shí)現(xiàn),需要的朋友可以參考下
    2022-08-08
  • vue中狀態(tài)管理器Pinia的用法詳解

    vue中狀態(tài)管理器Pinia的用法詳解

    Pinia?是?Vue.js?的輕量級(jí)狀態(tài)管理庫(kù),最近很受歡迎,它使用?Vue?3?中的新反應(yīng)系統(tǒng)來構(gòu)建一個(gè)直觀且完全類型化的狀態(tài)管理庫(kù),下面就跟隨小編一起來學(xué)習(xí)一下它的具體使用吧
    2023-10-10
  • vue中上傳視頻或圖片或圖片和文字一起到后端的解決方法

    vue中上傳視頻或圖片或圖片和文字一起到后端的解決方法

    這篇文章主要介紹了vue中上傳視頻或圖片或圖片和文字一起到后端的解決方法,需要的朋友可以參考一下
    2019-12-12
  • vue項(xiàng)目設(shè)置scrollTop不起作用(總結(jié))

    vue項(xiàng)目設(shè)置scrollTop不起作用(總結(jié))

    這篇文章主要介紹了vue項(xiàng)目設(shè)置scrollTop不起作用(總結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12

最新評(píng)論

夏河县| 龙州县| 沂南县| 乐山市| 石门县| 陈巴尔虎旗| 周至县| 龙江县| 台湾省| 绵竹市| 慈溪市| 英吉沙县| 津市市| 平和县| 余江县| 金昌市| 嘉黎县| 河南省| 清水河县| 安吉县| 贡觉县| 怀仁县| 都昌县| 吴川市| 华阴市| 玉龙| 龙游县| 常宁市| 巴塘县| 甘泉县| 元谋县| 丰镇市| 漳浦县| 池州市| 宣城市| 缙云县| 光泽县| 岳西县| 章丘市| 大安市| 阳城县|