vue2 插槽

1.作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于父组件===>子组件。
2.分类:默认插槽,具名插槽,作用域插槽
3.使用方式:
1.默认插槽:
父组件中:

<category>
   <div>html结构</div>
</category>

子组件中:

<template>
      <div>
              <slot>插槽默认内容</slot>
       </div>
</template>

2.具名插槽:
父组件中:

<category>
   <template slot="center">
        <div>html结构</div>
   <template>

    <template slot="center">
        <div>html结构</div>
   <template>
</category>

子组件中:

<template>
      <div>
          <slot name="center">插槽默认内容。。。</slot>
          <slot name="footer">插槽默认内容。。。</slot>
      </div>
</template>

3.作用域插槽:
1.理解:数据在组件的自身,但根据数据生成的结构需要组件的使用者来决定。(games数据在Category组件中,但使用数据所遍历的结构由App组件决定)
2.具体编码:
父组件中:

<category>
   <template scope="scopeData">
        <ul>
               <li v-for="g in scopeData.games" :key:"g">{{g}}</li>
        </ul>
   <template>
</category>

<category>
   <template slot-scope="scopeData">
           <h4 v-for="g in scopeData.games" :key:"g">{{g}}</h4>
   <template>
</category>

子组件中:

     <template>
              <div>
                     <slot :game="games"></slot>
              </div>
     </template>
      <script>
              export default {
                 name:"category",
                 props:['title'],
                 data(){
               return {
                   games:['红色警戒','cs']
                }
           }
                   
      }
      </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值