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

VUE3之Non-Props屬性的具體使用

 更新時間:2022年01月23日 09:14:21   作者:追風人聊Java  
本文主要介紹了VUE3之Non-Props屬性的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

1. 概述

墨菲定律告訴我們:人總是容易犯錯誤的,無論科技發(fā)展到什么程度,無論是什么身份的人,錯誤總是會在不經(jīng)意間發(fā)生。因此我們最好在做重要的事情時,盡量去預估所有可能發(fā)生的錯誤,并思考錯誤發(fā)生后的補救方案,再準備一個或多個備選方案。這樣才能做到有備無患,防患于未來。

言歸正傳,之前我們聊了組件的傳參,今天我們來聊一下Non-Props 屬性,Non-Props 這個詞,不了解的同學一定覺得很高深,其實很簡單,之前講的組件傳參,子組件會使用 props:[''] 的方式接收父組件傳遞的參數(shù),如果子組件不使用props:['']接收參數(shù),那這個參數(shù)就是一個Non-Props 屬性。下面我們通過例子來詳細看一下。

2.Non-Props 屬性

2.1 初識Non-Props 屬性

<body>
    <div id="myDiv"></div>
</body>
<script>
    const app = Vue.createApp({
        template:`
            <div>
                <test message="hello" />
            </div>
        `
    });
    app.component("test", {
        template:`
            <div>123</div>
        `
    });
    const vm = app.mount("#myDiv");

這個例子中,雖然主組件在使用 test 子組件時,傳了 message 參數(shù),但子組件沒有接收,會發(fā)生什么事情,看下面截圖:

最后渲染時,把 message = "hello" 原封不動的渲染到了 test 子組件的最外層標簽上

2.2 不想把Non-Props 屬性 渲染到最外層標簽

我們希望我不接收的屬性,就是不接收,不要渲染到最外層標簽

app.component("test", {
        inheritAttrs:false,  
        template:`
            <div>123</div>
        `
    });

在子組件中增加屬性inheritAttrs:false,Non-Props 屬性就不會渲染到最外層標簽了

2.3Non-Props 屬性的使用場景

大家可能會問,這個屬性子組件不需要,VUE 還硬放到子組件的最外層元素,這是為什么,有什么用呢,我們來看下面的例子

const app = Vue.createApp({
        template:`
            <div>
                <test style="color:red" />
            </div>
        `
    });
    app.component("test", {
        template:`
            <div>123</div>
        `
    });

從這個例子就能看出,當父組件想為子組件添加樣式時,使用Non-Props 屬性 就非常合適,也適合于其他單純傳遞屬性的場景。

2.4 子組件有多個最外層標簽

剛才講了,Non-Props 屬性 會往子組件最外層的標簽渲染屬性,當子組件有多個最外層標簽時,VUE 會如何渲染呢,看下面的例子

const app = Vue.createApp({
        template:`
            <div>
                <test style="color:red" class="myClass" />
            </div>
        `
    });
    app.component("test", {
        template:`
            <div>123</div>
            <div>456</div>
            <div>789</div>
        `
    });

三個最外層標簽都沒有父組件傳遞的屬性,VUE 不知道該給哪個標簽渲染,干脆就不渲染了

2.5 為某個最外層標簽渲染

如果我們希望某個標簽可以拿到父組件的屬性,可以這樣寫

const app = Vue.createApp({
        template:`
            <div>
                <test style="color:red" class="myClass" />
            </div>
        `
    });
    app.component("test", {
        template:`
            <div>123</div>
            <div v-bind="$attrs" >456</div>
            <div>789</div>
        `
    });

使用 v-bind="$attrs",讓 VUE 知道這個標簽需要父組件的屬性

2.6 獲取父組件傳遞的某一個屬性

上面的例子,子組件中間的 div 標簽被渲染了父組件傳遞的所有屬性,如果這個標簽只需要的其中一個或幾個屬性,可以這么寫

const app = Vue.createApp({
        template:`
            <div>
                <test style="color:red" class="myClass" />
            </div>
        `
    });
    app.component("test", {
        template:`
            <div>123</div>
            <div :style="$attrs.style" >456</div>
            <div>789</div>
        `
    });

這樣,中間的 div 只被渲染了 style 屬性,而沒有 class 屬性

2.7 生命周期函數(shù)獲取Non-Props 屬性

子組件的生命周期函數(shù),也是可以獲取Non-Props 屬性的,我們來看下面的例子

app.component("test", {
        mounted() {
            console.info(this.$attrs.class);
        },
        template:`
            <div>123</div>
            <div :style="$attrs.style" >456</div>
            <div>789</div>
        `
    });

3. 綜述

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

您可能感興趣的文章:

相關文章

  • vue中setup語法糖寫法實例

    vue中setup語法糖寫法實例

    如果你在 vue3 開發(fā)中使用了語法的話,對于組件的name屬性,需要做一番額外的處理,下面這篇文章主要給大家介紹了關于Vue3 setup語法糖的相關資料,需要的朋友可以參考下
    2022-12-12
  • 快速修改antd?vue單個組件的默認樣式

    快速修改antd?vue單個組件的默認樣式

    這篇文章主要介紹了快速修改antd?vue單個組件的默認樣式方式,具有很好的參考價值,希望對大家有所幫助。
    2022-08-08
  • vue項目中使用axios上傳圖片等文件操作

    vue項目中使用axios上傳圖片等文件操作

    axios 是一個基于Promise 用于瀏覽器和 nodejs 的 HTTP 客戶端。這篇文章主要給大家介紹了vue項目中使用axios上傳圖片等文件操作,需要的朋友參考下吧
    2017-11-11
  • 如何修改vue-treeSelect的高度

    如何修改vue-treeSelect的高度

    這篇文章主要介紹了如何修改vue-treeSelect的高度,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Vue插件之滑動驗證碼用法詳解

    Vue插件之滑動驗證碼用法詳解

    這篇文章主要介紹了Vue插件之滑動驗證碼用法,結合實例形式詳細分析了Vue滑動驗證碼插件相關使用方法與操作注意事項,需要的朋友可以參考下
    2020-04-04
  • vue.js入門教程之綁定class和style樣式

    vue.js入門教程之綁定class和style樣式

    小編之前介紹了通過vue.js計算屬性,不知道大家都學會了嗎。那這篇文章中我們將一起學習vue.js實現(xiàn)綁定class和style樣式,有需要的朋友們可以參考借鑒。
    2016-09-09
  • vue+axios?methods方法return取不到值問題及解決

    vue+axios?methods方法return取不到值問題及解決

    這篇文章主要介紹了vue+axios?methods方法return取不到值問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue組件如何設置Props實例詳解

    Vue組件如何設置Props實例詳解

    props主要用于組件的傳值,他的工作就是為了接收外面?zhèn)鬟^來的數(shù)據(jù),與data、el、ref是一個級別的配置項,下面這篇文章主要給大家介紹了關于Vue組件如何設置Props的相關資料,需要的朋友可以參考下
    2022-06-06
  • Vue組件模板形式實現(xiàn)對象數(shù)組數(shù)據(jù)循環(huán)為樹形結構(實例代碼)

    Vue組件模板形式實現(xiàn)對象數(shù)組數(shù)據(jù)循環(huán)為樹形結構(實例代碼)

    這篇文章主要介紹了Vue組件模板形式實現(xiàn)對象數(shù)組數(shù)據(jù)循環(huán)為樹形結構,本文用vue實現(xiàn)方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-07-07
  • Vue開發(fā)實現(xiàn)滑動驗證組件

    Vue開發(fā)實現(xiàn)滑動驗證組件

    這篇文章主要為大家詳細介紹了如何利用Vue開發(fā)實現(xiàn)簡單的滑動驗證組件,并且適配移動和PC,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-07-07

最新評論

卢湾区| 海南省| 岳池县| 星座| 西充县| 井冈山市| 密云县| 略阳县| 宁德市| 山阴县| 宣武区| 平远县| 竹山县| 临邑县| 安平县| 盈江县| 东源县| 惠州市| 河间市| 鹿邑县| 黄陵县| 胶州市| 伊春市| 铅山县| 石楼县| 上思县| 密云县| 枝江市| 静宁县| 夏邑县| 十堰市| 广元市| 广宁县| 岳池县| 平利县| 周至县| 汤阴县| 黄浦区| 鹿泉市| 七台河市| 淮南市|