Vue的slot插槽(默认插槽、具名插槽、作用域插槽)

[复制链接]
发表于 2026-1-25 02:52:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1. slot插槽

作用:让父组件可以向子组件指定位置插入html布局,也是一种组件间通讯的方式,实用于父组件向子组件通报数据
1.1 默认插槽

Category.vue:

      
  • 界说一个插槽。等着组件的利用者举行添补  
  • 可以在子组件Category.vue给插入的html布局界说CSS样式,也可以在父组件App.vue给插入的html布局界说CSS样式
  1. <template>
  2.         <div class="category">
  3.                 <h3>{
  4.   
  5.   {title}}分类</h3>
  6.                 <slot>我是一些默认值,当使用者没有传递具体结构时,我会出现</slot>
  7.         </div>
  8. </template>
  9. <script>
  10.         export default {
  11.                 name:'Category',
  12.                 props:['title']
  13.         }
  14. </script>
  15. <style scoped>
  16.         .category{
  17.                 background-color: skyblue;
  18.                 width: 200px;
  19.                 height: 200px;
  20.         }
  21.         h3{
  22.                 text-align: center;
  23.                 background-color: orange;
  24.         }
  25.         video{
  26.                 width: 100%;
  27.         }
  28.         img{
  29.                 width: 100%;
  30.         }
  31. </style>
复制代码
App.vue:直接在利用子组件的标签中,插入html布局,同时可以通报数据到html。假如子组件不界说slot插槽,则插入的html布局生存在子组件的$slots上
  1. <template>
  2.         <div class="container">
  3.                 <Category title="风景" >
  4.                         <img src="https://t7.baidu.com/it/u=2604797219,1573897854&fm=193&f=GIF" alt="">
  5.                 </Category>
  6.                 <Category title="游戏" >
  7.                         <ul>
  8.                                 <li v-for="(game,index) in games" :key="index">{
  9.   
  10.   {game}}</li>
  11.                         </ul>
  12.                 </Category>
  13.                 <Category title="电影">
  14.                         <video controls s
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表