前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >slot基本使用

slot基本使用

作者头像
Qwe7
发布2022-05-27 08:37:38
8830
发布2022-05-27 08:37:38
举报
文章被收录于专栏:网络收集网络收集

slot基本使用

了解了为什么用slot,我们再来谈谈如何使用slot?

在子组件中,使用特殊的元素<slot>就可以为子组件开启一个插槽。

该插槽插入什么内容取决于父组件如何使用。

我们通过一个简单的例子,来给子组件定义一个插槽:

<slot>中的内容表示,如果没有在该组件中插入任何其他内容,就默认显示该内容

有了这个插槽后,父组件如何使用呢?

具名插槽slot

当子组件的功能复杂时,子组件的插槽可能并非是一个。

比如我们封装一个导航栏的子组件,可能就需要三个插槽,分别代表左边、中间、右边。

那么,外面在给插槽插入内容时,如何区分插入的是哪一个呢?

这个时候,我们就需要给插槽起一个名字

如何使用具名插槽呢?

非常简单,只要给slot元素一个name属性即可

<slot name='myslot'></slot>

我们来给出一个案例:

这里我们先不对导航组件做非常复杂的封装,先了解具名插槽的用法。

作用域插槽:准备

作用域插槽是slot一个比较难理解的点,而且官方文档说的又有点不清晰。

这里,我们用一句话对其做一个总结,然后我们在后续的案例中来体会:

父组件替换插槽的标签,但是内容由子组件来提供。

我们先提一个需求:

子组件中包括一组数据,比如:pLanguages: [‘JavaScript’, ‘Python’, ‘Swift’, ‘Go’, ‘C++’]

需要在多个界面进行展示:

某些界面是以水平方向一一展示的,

某些界面是以列表形式展示的,

某些界面直接展示一个数组

内容在子组件,希望父组件告诉我们如何展示,怎么办呢?

利用slot作用域插槽就可以了

我们来看看子组件的定义:

作用域插槽:使用

在父组件使用我们的子组件时,从子组件中拿到数据:

我们通过<template slot-scope="slotProps">获取到slotProps属性

在通过slotProps.data就可以获取到刚才我们传入的data了

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档