当前位置: 首页 > news >正文

Vue中的插槽--组件复用,内容自定义

插槽

文章目录

  • 插槽
    • 插槽-默认插槽
    • 插槽-后备内容(设置默认值)
    • 插槽-具名插槽
    • 插槽–作用域插槽

插槽-默认插槽

  • 作用:让组件内部的一些结构支持自定义

  • 需求:要在页面中显示一个对话框,封装成一个组件(对话框有很多功能是类似的,就可进行封装)

  • 问题:组件的内容部分,不希望写死,希望能使用的时候自定义。

  • 插槽基本语法:

    1. 组件内需要定制的结构部分,改用<slot></slot>占位
    2. 使用组件时,<MyDialog></MyDialog>标签内部,传入结构替换slot

示例:

  1. 使用slot占位:

    image-20230924173753585

  2. 在标签内部传入结构:

    image-20230924173810399

效果:

image-20230924173838581

插槽-后备内容(设置默认值)

  • 前言:若是什么内容都不传递,那插槽处就是空白的。

  • 插槽后备内容:封装组件时,可以为预留的<slot>插槽提供后备内容(默认内容)。

  • 语法:在标签内,放置内容,作为默认显示内容(有值传入那就是值,没值传入就是默认值)

image-20230924174404422

插槽-具名插槽

需求:一个组件内有多处结构,需要外部传入标签,进行定制

默认插槽:一个的定制位置

  • 具体语法:

    1. 多个slot使用name属性区分名字

    2. template配合v-slot:名字来分发对应标签

    3. v-slot:插槽名可以简化成#插槽名

  1. 起别名:

image-20230924181253564

  1. 引用:

    image-20230924181404341

插槽–作用域插槽

  • 作用域插槽:定义slot插槽的同时是可以传值的。给插槽上可以绑定数据,将来使用组件时可以用。

  • 例如:表格的渲染

    1. 父传子,动态渲染表格内容

    2. 利用默认插槽,定制操作列

    3. 删除或查看都需要用到当前项的id,属于组件内部的数据

      通过作用域插槽传值绑定,进而使用

  • 语法:

    1. 给slot标签,以添加属性的方式传值
    2. 所有添加的属性,都会被收集到一个对象中
    3. 在template中,通过#插槽名="obj"接收,默认插槽名为default

    代码示例:

image-20230924191019879

image-20230924191112193

PS:

  • 插槽分类:
    • 默认插槽(组件内定制一处结构)
    • 具名插槽(组件内定制多处结构)
  • 作用域插槽:是插槽的一个传参语法
http://www.lryc.cn/news/174776.html

相关文章:

  • 完全指南:mv命令用法、示例和注意事项 | Linux文件移动与重命名
  • gitee生成公钥和远程仓库与本地仓库使用验证
  • 请求后端接口413
  • HarmonyOS之 开发环境搭建
  • QTC++ day12
  • Vue3中使用Proxy API取代defineProperty API的原因
  • 构建工具Webpack简介
  • Docker部署单点Elasticsearch与Kibana
  • opencv实现仿射变换和透射变换
  • 抖音seo账号矩阵源码系统
  • 性能优化之防抖
  • postgresql用户和角色
  • 设计模式之备忘录模式
  • 大数据Flink(八十八):Interval Join(时间区间 Join)
  • 数字IC笔试千题解--判断题篇(五)
  • Kubernetes(k8s)上搭建一主两从的mysql8集群
  • MySQL备份与恢复
  • 【RTOS学习】单片机中的C语言
  • 确知波束形成matlab仿真
  • 并发编程相关面试题
  • Cpp/Qt-day050921Qt
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR分发rtsp流起播慢优化步骤详解
  • ElementUI之登陆+注册->饿了吗完成用户登录界面搭建,axios之get请求,axios之post请求,跨域,注册界面
  • 2023华为杯研究生数学建模研赛E题出血脑卒中完整论文(含28个详细预处理数据及结果表格)
  • Java中的继承是什么?
  • Python - flask后端开发笔记
  • Flutter实现PS钢笔工具,实现高精度抠图的效果。
  • 苏宁滑块验证
  • c语言。。。
  • vue-cli创建项目、vue项目目录结(运行vue项目)、ES6导入导出语法、vue项目编写规范