• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

vue具名插槽的基本使用实例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

前言

具有名字的插槽slot使用 中的 "name" 属性绑定元素

注意:

1,如果没有匹配到 则放到匿名的插槽中

2,具名插槽的渲染顺序,完全取决于模板,而不是取决于父组件中元素的顺序

vue的匿名插槽(默认插槽)

父组件

<div>
 <myslot>我是刚刚</myslot>
</div>

子组件

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

vue的具名插槽

父组件

<div>
 <myslot>
  <template #one>猪猪是一只大肥猫</template>
  <template #two>通通是一个大屁眼子</template>
  <template #three>咪咪是没心没肺的小混蛋</template>
  我是刚刚
 </myslot>
</div>

子组件

<div>
 <slot name="one"></slot>
 <slot><slot>
 <slot name="two"></slot>
 <slot name="three"></slot>
</div>

渲染出来(大致顺序)即为

vue的作用域插槽

大白话解释作用域插槽:父组件可以通过插槽读到子组件对应插槽所带的数据
父组件

<div>
	<myslot>
		<template #oneData="oneData">
			<div>{{oneData.one.message}}</div>
		</template>
		<template #two>通通是一个大屁眼子</template>
		<template #three>咪咪是没心没肺的小混蛋</template>
		我是刚刚
	</myslot>
</div>

子组件

<div>
 <slot name="one" :data='one'></slot>
 <slot><slot>
 <slot name="two"></slot>
 <slot name="three"></slot>
</div>

<script>
 export default {
  data() {
   return {
    one: {
     message: '这是子组件所带的数据message',
       },
   };
  },
 }
</script>

代码优化

<div>
 <myslot>
  <template #oneData="{oneData}">
   <div>{{oneData.message}}</div>
  </template>
  <template #two>通通是一个大屁眼子</template>
  <template #three>咪咪是没心没肺的小混蛋</template>
  我是刚刚
 </myslot>
</div>

子组件

<div>
 <slot name="one" :oneData='one'></slot>
 <slot><slot>
 <slot name="two"></slot>
 <slot name="three"></slot>
</div>

<script>
 export default {
  data() {
   return {
    one: {
     message: '这是子组件所带的数据message',
       },
   };
  },
 }
</script>

总结

到此这篇关于vue具名插槽基本使用的文章就介绍到这了,更多相关vue具名插槽内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Javascript中异步等待的深入理解发布时间:2022-02-05
下一篇:
Vue自定义组件使用事件修饰符的踩坑记录发布时间:2022-02-05
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap