91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue中的插槽是什么

發布時間:2021-01-27 13:41:41 來源:億速云 閱讀:151 作者:小新 欄目:編程語言

這篇文章主要介紹了Vue中的插槽是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Vue中的插槽是什么

Vue插槽,是學習vue中必不可少的一節,當初剛接觸vue的時候,對這些掌握的一知半解,特別是作用域插槽一直沒明白。

后面越來越發現插槽的好用。

分享一下插槽的一些知識吧。

一、插槽內容

一句話:插槽內可以是任意內容。

先看一下下面的代碼:聲明一個child-component組件,

如果現在我想在<child-component></child-component>內放置一些內容,結果會是怎樣?

<div id="app">
    <child-component></child-component>

</div>
<script>
    Vue.component('child-component',{
        template:`
            <div>Hello,World!</div>
        `
    })
    let vm = new Vue({
        el:'#app',
        data:{

        }
    })
</script>
<child-component>你好</child-component>

輸出內容還是在組件中的內容,在 <child-component>內寫的內容沒起作用。

Vue中的插槽是什么

我們現在給組件增加一個<slot></slot>插槽

我們在<child-component></child-component>內寫的"你好"起作用了!!!

Vue.component('child-component',{
        template:`
            <div>
            Hello,World!
            <slot></slot>
            </div>
        `
    })

Vue中的插槽是什么

到現在,我們知道了什么是插槽:

插槽就是Vue實現的一套內容分發的API,將<slot></slot>元素作為承載分發內容的出口。

這句話的意思就是,沒有插槽的情況下在組件標簽內些一些內容是不起任何作用的,當我在組件中聲明了slot元素后,在組件元素內寫的內容就會跑到它這里了!

二、具名插槽

具名插槽,就是給這個插槽起個名字

在組件中,我給插槽起個名字,一個名字叫"girl",一個名字叫"boy",還有一個不起名字。

然后再<child-component></child-component>內,slot屬性對應的內容都會和組件中name一一對應。

而沒有名字的,就是默認插槽!!

<div id="app">
    <child-component>
        <template slot="girl">
            漂亮、美麗、購物、逛街
        </template>
        <template slot="boy">
            帥氣、才實
        </template>
        <div>
            我是一類人,
            我是默認的插槽
        </div>
    </child-component>
</div>
<script>
    Vue.component('child-component',{
        template:`
            <div>
            <h5>這個世界不僅有男人和女人</h5>

            <slot name="girl"></slot>

            <div style="height:1px;background-color:red;"></div>

            <slot name="boy"></slot>

            <div style="height:1px;background-color:red;"></div>

            <slot></slot>
            </div>
        `
    })
    let vm = new Vue({
        el:'#app',
        data:{

        }
    })
</script>

3、作用域插槽

之前一直沒搞懂作用域插槽到底是什么!!!

說白了就是我在組件上的屬性,可以在組件元素內使用!

先看一個最簡單的例子!!

我們給<slot></slot>元素上定義一個屬性say(隨便定義的!),接下來在使用組件child,然后在template元素上添加屬性slot-scope!!隨便起個名字a

我們把a打印一下發現是 {"say" : "你好"},也就是slot上面的屬性和值組成的鍵值對!!!

這就是作用域插槽!

我可以把組件上的屬性/值,在組件元素上使用!!

<div id="app">
    <child>
        <template slot-scope="a">
      <!-- {"say":"你好"} -->

            {{a}}
        </template>
    </child>
</div>
<script>
    Vue.component('child',{
        template:`
            <div>
                <slot say="你好"></slot>
            </div>
        `
    })

    let vm = new Vue({
        el:'#app',
        data:{

        }
    })
</script>

再看一下下面的例子:

<div id="app">
    <child :lists="nameList">
        <template slot-scope="a">
            {{a}}
        </template>
    </child>
</div>
<script>
    Vue.component('child',{
        props:['lists'],
        template:`
            <div>
                <ul>
                    <li v-for="list in lists">
                        <slot :bbbbb="list"></slot>
                    </li>
                </ul>
            </div>
        `
    })

    let vm = new Vue({
        el:'#app',
        data:{
            nameList:[
            {id:1,name:'孫悟空'},
            {id:2,name:'豬八戒'},
            {id:3,name:'沙和尚'},
            {id:4,name:'唐僧'},
            {id:5,name:'小白龍'},
            ]
        }
    })
</script>

看一下輸出結果

Vue中的插槽是什么

以上就是了解一下Vue中的插槽的詳細內容,更多請關注億速云其它相關文章!

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Vue中的插槽是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

丹棱县| 南澳县| 长岛县| 广东省| 漾濞| 罗平县| 余干县| 治多县| 临海市| 睢宁县| 南靖县| 宁远县| 巴楚县| 东丽区| 平乡县| 青岛市| 朝阳市| 南木林县| 涪陵区| 宜阳县| 北安市| 巴马| 项城市| 邢台县| 名山县| 房产| 舞阳县| 卓资县| 栖霞市| 德保县| 祥云县| 托克逊县| 辽阳市| 建阳市| 密山市| 增城市| 水城县| 丹凤县| 澄迈县| 保定市| 泾川县|