vue中的匿名插槽和带值插槽的使用方式

1.1 这边是子组件其实是在这边占一个位置

<template>
    <div>
        <slot></slot>
    </div>
</template>

<script>
    export default {
        name: "index.vue",
        data(){
            return{
                message:'admin'
            }
        }
    }
</script>

<style scoped>

</style>

1.2 这边是父组件,slot-company是引用的子组件,在子组件中如果使用了slot则会显示在父组件定义的数据值。

 <slot-company>
    需要显示的值
 </slot-company>
 import SlotCompany from './components/slot'
    export default {
        name: 'app',
        components: {
            HelloWorld,
            ModelOpen,
            SlotCompany
        },

1.3 可以传值的插槽(当前在子组件中)

1.3.1 在return定义一个message的字符变量,初赋值为admin
1.3.2 动态绑定slot如下图

<template>
    <div>
        <slot :data="message"></slot>
    </div>
</template>

<script>
    export default {
        name: "index.vue",
        data(){
            return{
                message:'admin'
            }
        }
    }
</script>

<style scoped>

1.4在父组件中如何使用

1.4.1 在父组件中接受子组件中的插槽值<template slot-scope="message"></template>
1.4.2 这边的message与子组件中的绑定值一致 <slot :data="message"></slot>
1.4.3 显示在子组件中的值为 <span>{{message.data}}</span>

 <slot-company>
    <template slot-scope="message">
     <span>{{message.data}}</span>
    </template>
 </slot-company>

这个是两个插槽的方式,希望有人喜欢

子组件

// 写专门的插槽

父组件


<!--
{{message.data}} —
-->


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 2匿名是通过在组件使用`<slot>`标签来实现的。匿名可以用于提供默认内容,当使用者没有传递具体结构时,这些默认内容会被显示出来。例如,在一个名为NiMing.vue的组件,可以这样定义一个匿名: ``` <template> <div class="category"> <h3>{{ title }}分类</h3> <slot>我是一些默认,当使用者没有传递具体结构时,我会出现</slot> </div> </template> ``` 在这个例子,如果在使用NiMing组件时未传递具体的内容,那么默认"我是一些默认,当使用者没有传递具体结构时,我会出现"就会被显示出来。你可以根据需要在组件定义多个匿名,并在使用组件时根据名称来传递具体的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vue2使用-- 默认、具名、作用域](https://blog.csdn.net/m0_74767583/article/details/129288115)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [vue3的匿名、具名、作用域、动态](https://blog.csdn.net/weixin_39838846/article/details/125967376)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值