您好,登錄后才能下訂單哦!
vue默認(rèn)插槽的理解及實(shí)例代碼是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
插槽就是子組件中的提供給父組件使用的一個(gè)占位符,用<slot></slot> 表示,父組件可以在這個(gè)占位符中填充任何模板代碼,如 HTML、組件等,填充的內(nèi)容會(huì)替換子組件的<slot></slot>標(biāo)簽。
就是利用 完全標(biāo)簽() 在它完全標(biāo)簽里寫(xiě)相應(yīng)的配置(比如:我們需要的功能)
然后利用 默認(rèn)插槽這個(gè)標(biāo)簽 把寫(xiě)好的會(huì)放到這個(gè)插槽里去(這個(gè)插槽一般式存在于子組件的,所以就可以把父組件寫(xiě)好的東西給子組件了)
關(guān)于寫(xiě)在完全標(biāo)簽里的配置的樣式我們既可以寫(xiě)在父組件又可以寫(xiě)在子組件中(因?yàn)椋?、樣式寫(xiě)在父組件時(shí)候,樣式已經(jīng)被渲染好了然后放入子組件;2、樣式寫(xiě)在子組件時(shí),把配置放入插槽,而插槽所在子組件有css樣式會(huì)給我們的配置渲染的)
①Category.vue
<template> <div class="category"> <h4>{{ title }}分類</h4> <!-- 定義一個(gè)默認(rèn)插槽,那么App.vue中相應(yīng)的組件標(biāo)簽里標(biāo)簽體的內(nèi)容會(huì)往這個(gè)插槽中放置 --> <slot></slot> </div> </template> <script> export default { name: "Category", props: ["title"], }; </script> <style> .category { background-color: skyblue; width: 200px; height: 300px; } h4 { text-align: center; background-color: orange; } </style>
②App.vue
<template> <div class="container"> <Category title="美食"> <img src="https://zqcdn.itzjj.cn/static/skin/mfw0321/static/picture/dj_scv.jpg" alt="1" /> </Category> <Category title="游戲" :listData="games"> <ul> <!-- 這時(shí)候因?yàn)樽兞恐苯釉赼pp.vue中所以可以直接去遍歷game 遍歷完了再利用插槽的功能傳遞給Category.vue --> <li v-for="(g, index) in games" :key="index"> {{ g }} </li> </ul></Category > <Category title="電影" :listData="films"> <!-- controls 可以讓video可以播放 --> <video controls src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" ></video> </Category> </div> </template> <script> import Category from "./components/Category"; export default { name: "App", components: { Category }, data() { return { foods: ["火咕", "你肉", "丸子"], games: ["紅警在線", "穿越火線", "勁舞團(tuán)"], films: ["《教父》", "《拆彈專家》", "《牛逼》"], }; }, }; </script> <style> .container { display: flex; justify-content: space-around; } video { width: 100%; } img { width: 100%; } </style>
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。