vue 插槽slot

什么是slot?
slot就是就是占位符,用表示,它显示与隐藏以及最后用什么样的html模板显示由父组件控制。
1.普通插槽
在子组件中使用 占位,就可以在组件的标签中输入内容,放到插槽位置显示

<div id="box">
        <aa>2222</aa>
    </div>
   <template id='aaa'>
       <div>
           <slot></slot>
       </div>
   </template>
    <script>
        Vue.component('aa',{
            template:'#aaa'
        })
        var VM = new Vue({
            el:"#box",
            data:{
                
            }
        })

2.具名插槽
使用name属性给插槽命名
使用 标签和v-slot指令来使用

<div id="box">
        <aa></aa>
    </div>
   <template id='aaa'>
       <div>
           <bb>
               <template v-slot:cc>插槽</template>
           </bb>
       </div>
   </template>
   <template id='bbb'>
    <div>
        <slot name='cc'></slot>
    </div>
</template>
    <script>
        Vue.component('aa',{
            template:'#aaa',
            components:{
                bb:{
                template:'#bbb'}
            }
        })
        var VM = new Vue({
            el:"#box",
            data:{
            }
        })
    </script>

3.动态插槽
使用name属性给插槽命名
使用 <template v-slot:[变量]>
v-slot指令的值使用[]包裹起来,就可以解析里面的变量

<div id="box">
        <aa>
            <template v-slot:[dt]>插槽</template>
        </aa>
    </div>
    <template id='aa'>
        <div>
            <slot name='cc'></slot>
            <slot name='oo'></slot>
        </div>
    </template>
    <script>
        Vue.component('aa', {
            template:"#aa"
        })
        var VM = new Vue({
            el: "#box",
            data: {
                dt: "oo"
            }

        })
    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值