日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue.js插槽slot和作用域插槽slot-scope学习小结

發布時間:2025/7/14 vue 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue.js插槽slot和作用域插槽slot-scope学习小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一般來說,在Vue項目中使用父子組建時,都是把通用的HTML結構提取出來寫成一個子組件,需要動態展示的數據用過prop屬性傳遞,不過有時候我們可能想給子組件傳遞一個HTML代碼,這個時候用prop不太適用,Vue給我們提供了slot(插槽)可以實現這種應用場景.下面是自己學習后總結的幾種插槽使用方式 1. 普通使用方式 子組件 <template><div><!-- 如果有多個插槽,可以通過name命名 --><div style="background-color: yellowgreen"><slot name="header"></slot></div><!-- 父組件傳遞過來的值會展示在slot標簽中 --> <slot></slot><ul v-if="todo"><li>姓名: {{todo.name}}</li><li>年齡: {{todo.age}}</li><li>愛好: {{todo.hobby}}</li></ul><div style="color: gold"><slot name="footer"></slot></div></div> </template><script> export default {name: 'child',props: {todo: Object},data () {return {}},created () {console.log(this.todo, 'todo')} }</script>// 父組件 <template><div><!-- 引入子組件 --><child :todo="list"><!-- 這里的內容會渲染到子組件name為header的標簽中 --><template slot="header"><p>放在頭部的內容</p></template><!-- 子組件雙標簽中的內容會被渲染到子組件的slot標簽里 --><h3>插槽標題</h3><!-- 這里的內容會渲染到子組件name為footer的標簽中 --><template slot="footer"><p>放在底部的內容</p></template></child></div> </template><script> import child from './child' export default {name: 'parent',components: {child},data () {return {list: {name: '靈夢', age: 18, text: '熱愛學習', hobby: '踢足球'}}}} </script>

渲染效果:

?

2. 作用域插槽 如果你希望從子組件獲取數據,進行其他數據展示,這個時候你可以使用作用域插槽 子組件 <template><div><ul v-if="todo.length" v-for="item in todo" :key="item.id"><li>姓名: {{item.name}}</li><li>年齡: {{item.age}}</li><li>愛好: {{item.hobby}}</li></ul></div> </template> <script> export default {name: 'child',props: {todo: Array}</script>// 父組件 <template><div><!-- 引入子組件 --><child :todo="list"></child></div> </template><script> import child from './child' export default {name: 'parent',components: {child},data () {return {list: [{name: '靈夢', age: 18, text: '熱愛學習', hobby: '踢足球', id: 1},{name: '李明', age: 13, text: '畫畫很棒', hobby: '畫畫', id: 2},{name: '韓梅梅', age: 25, text: '性格文靜', hobby: '做手工', id: 3}]}}} </script> 普通調用,渲染出來的數據就是這樣,但是如果我們想在第二項渲染中把hobby改成text,這時候就需要子組件把數據傳過來,父組件改變渲染方式了 // 子組件 <template><div><ul v-if="todo.length" v-for="(item,index) in todo" :key="item.id"><li>姓名: {{item.name}}</li><li>年齡: {{item.age}}</li><!-- 如果是第二項,就使用作用域插槽,重新展示 --><li v-if="index === 1"><!-- 定義了content把item傳遞到父組件,定義的名字可以隨意取,需要傳遞的數據寫在后面 --><slot :content="item"></slot></li><li v-else>愛好: {{item.hobby}}</li></ul></div> </template> <script> export default {name: 'child',props: {todo: Array}</script>// 父組件 <template><div><!-- 引入子組件 --><child :todo="list"><!-- 在子組件用slot-scope結收傳遞過來的數據,接收的名字可以隨意取 --><template slot-scope="scope"><!-- scope后接的就是你在子組件定義的傳遞值的名稱,scope.content就拿到了傳遞過來的值,在這里可以直接使用 -->描述: {{scope.content.text}}</template></child></div> </template><script> import child from './child' export default {name: 'parent',components: {child},data () {return {list: [{name: '靈夢', age: 18, text: '熱愛學習', hobby: '踢足球', id: 1},{name: '李明', age: 13, text: '畫畫很棒', hobby: '畫畫', id: 2},{name: '韓梅梅', age: 25, text: '性格文靜', hobby: '做手工', id: 3}]}}} </script>

?

渲染出來的效果是這樣,第二項李明的展示內容就改變了 在很多Vue的插件中也有使用作用域插槽的,比如element-ui的table組件,它就可以通過添加作用域插槽改變渲染的原始數據

轉載于:https://www.cnblogs.com/steamed-twisted-roll/p/10001512.html

總結

以上是生活随笔為你收集整理的Vue.js插槽slot和作用域插槽slot-scope学习小结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 婷婷久久网 | 国产性猛交╳xxx乱大交一区 | 久久亚洲成人av | 韩国成人在线视频 | 一本色道久久综合熟妇 | 日日干天天爽 | 欧美怡红院视频 | 久久综合热 | 亚洲一级视频在线观看 | 亚洲视频一区在线 | 99久久国产精 | 国内精品久久久久久久影视简单 | 97视频一区二区三区 | 久国产视频 | 啪啪官网| 1000部啪啪未满十八勿入超污 | 三级av在线免费观看 | 久草视频精品在线 | 国产小视频在线观看免费 | 中文字幕丝袜 | 欧美黄色录像片 | 欧美日韩一区二区三区四区五区六区 | 小视频在线免费观看 | 久久偷看各类wc女厕嘘嘘偷窃 | 少妇毛片一区二区三区粉嫩av | 亚洲国产一区二区在线 | 国产精品视频一区二区三区 | 三级黄网 | 美女扒逼| 亚洲顶级毛片 | 欧美成人三级伦在线观看 | 欧美人与性动交α欧美片 | 欧美成年人 | 99久久精品国产一区二区三区 | 日韩淫视频 | 日本少妇与黑人 | 亚洲精品三 | 日韩综合| 欧美色就是色 | www九九九 | 亚洲精品视频国产 | 窝窝午夜理论片影院 | 色咪咪网站 | 麻豆91在线 | 三级国产三级在线 | 四虎一国产精品一区二区影院 | 亚洲 欧美 日韩 国产综合 在线 | 国产日韩视频一区 | 偷偷操不一样 | 国产一二三区在线 | 草草久久久无码国产专区 | 亚洲一区二区色 | 日韩黄色片在线观看 | 中文字幕有码在线观看 | 成人激情四射网 | 欧美日韩黄色一级片 | 玖玖五月 | 男人亚洲天堂 | 成年人在线免费观看网站 | 另类小说一区二区 | 大香伊人中文字幕精品 | 成人免费av | 日本欧美中文字幕 | 丁香六月激情 | 精品二区视频 | 国产精品久久欧美久久一区 | 992tv成人免费视频 | 黄色小视屏 | 日韩av一卡二卡 | 日韩免费在线视频观看 | 成人久久视频 | 91www | 欧美在线播放一区二区 | 色呦网站 | 五月婷婷激情视频 | 91在线观看视频网站 | 免费精品一区二区 | 美女久久久久久 | 性感美女被草 | 色人天堂 | 91麻豆精品国产 | 热热色av | 国精无码欧精品亚洲一区蜜桃 | 夜夜嗨一区二区三区 | 男女作爱网站 | 中文字幕在线资源 | 亚洲一区二区三区人妻 | 婷婷啪啪 | 黄色喷水视频 | 精品无码一区二区三区在线 | 国产成人精品一区在线播放 | 免费播放毛片 | 欧美黄色性生活 | 欧美成人二区 | 午夜精品一二三区 | 欧美日韩一区二区三区在线播放 | 午夜在线观看免费视频 | 成 人 黄 色 片 在线播放 | 国产精品美女久久久久久久久 |