solt插槽

solt插槽slot 插槽当组件中某一项需要单独定义 那么就应该使用 soltVue 实现了一套内容分发的 API 将 slot 元素作为承载分发内容的出口 单个 slot 匿名插槽 除非子组件模板包含至少一个 slot 插口 否则父组件的内容将会被丢弃 当子组件模板只有一个没有属性的 slot 时 父组件整个内容片段将插入到 slot 所在的 DOM 位置 并替换掉 slot slot

slot插槽

当组件中某一项需要单独定义,那么就应该使用solt

Vue 实现了一套内容分发的 API,将
元素作为承载分发内容的出口。

单个slot(匿名插槽)

除非子组件模板包含至少一个
插口,否则父组件的内容将会被丢弃 ,当子组件模板只有一个没有属性的 slot 时,父组件整个内容片段将插入到 slot 所在的 DOM 位置,并替换掉 slot 标签本身。

  • 如果希望, 能够让组件中的部分, 使用时进行定制, 需要用到插槽
  • 默认, 如果组件使用时, 组件标签中添加的内容, 不进行处理, 将被忽略
  • slot 插槽, 作用: 分发内容
  • 在组件使用时, 添加的内容, 将来会被分发到 slot 标签的位置去, 可以实现组件的定制

在组件的模版中定义slot插槽

 <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Document 
     title> <style> .com1 { 
      width: 300px; padding: 20px; border-radius: 10px; background-color: salmon; border: 2px solid black; }  
      style>  
       head> <body> <div id="app"> <com1> <p>发生未知错误,是否继续?? 
        p>  
         com1> <com1> <p>你确认要退出系统么?? 
          p>  
           com1>  
            div> <script src="./lib/"> 
             script> <script> // 没有给 
             加name属性的插槽 Vue.component('com1', { 
              template: ` 
              

警告

`
}) const vm = new Vue({ el: '#app', data: { } })
script> body> html>

具名插槽

  • 给插槽起一个名字



  • 用 template 标签, 将需要分发的内容进行包裹,通过设置 v-slot:插槽名, 实现分发到指定的插槽
Vue.component("modal", { 
    template: ` 
     `, }); 
 
    <modal> <template v-slot:header> <h3>警告 
     h3>  
      template> <template v-slot:content> <p>你确认要退出系统么?? 
       p>  
        template> <template v-slot:footer> <button>删除 
         button> <button>取消 
          button>  
           template> <template v-slot:default> <p>测试的内容 
            p>  
             template>  
              modal> <modal> <template v-slot:header> <h3>温馨提示 
               h3>  
                template> <template v-slot:content> <h4>嘎嘎, 你确认要删除内容么?? 
                 h4>  
                  template> <template v-slot:footer> <button> 
                   button> <button> 
                    button>  
                     template>  
                      modal> 
.modal { 
    width: 400px; background-color: pink; border: 3px solid #000; border-radius: 20px; margin-bottom: 10px; padding: 20px; } 
Vue.component('modal', { 
    template: ` 
     ` }) const vm = new Vue({ 
    el: '#app', data: { 
    msg: 'hello vue' } }) 

作用域插槽

如果在分发内容时, 需要用到子组件中的数据, 此时就可以用到作用域插槽

  1. 给 slot 添加自定义属性的方式, 传值
  2. 添加的自定义属性, 会以属性的方式添加到一个对象中去
    { money: 100, desc: ‘王校长’, yes: ‘是’, no: ‘否’ }

  3. 在template中, 可以通过 = 进行接收传递的值

插槽也可以带有数据

Vue.component('modal', { 
    template: ` 
    

`
})

作用域插槽的使用

 
    <modal> <template v-slot:header> <h3>警告 
     h3>  
      template> <template v-slot:content> <p>你确认要退出系统么?? 
       p>  
        template> <template v-slot:footer="scoped">  
         
       { scoped }} --> <button>{ 
      { scoped.yes }} 
         button> <button>{ 
       { scoped.no }} 
          button>  
           template>  
           <template v-slot:default="obj"> <p>测试的内容 { 
         { obj.house }} - { 
         { obj.car }} 
            p>  
             template>  
              modal> 
.modal { 
    width: 400px; background-color: pink; border: 3px solid #000; border-radius: 20px; margin-bottom: 10px; padding: 20px; } 
Vue.component('modal', { 
    template: ` 
     `, data () { 
    return { 
    yes: '是', no: '否' } } }) const vm = new Vue({ 
    el: '#app', data: { 
    msg: 'hello vue' } }) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208471.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午11:31
下一篇 2026年3月19日 上午11:31


相关推荐

  • ServBay + n8n,5分钟打造自动化工作流,告别重复劳动

    ServBay + n8n,5分钟打造自动化工作流,告别重复劳动

    2026年3月15日
    1
  • java phantomjs 截图_phantomjs 截图「建议收藏」

    java phantomjs 截图_phantomjs 截图「建议收藏」phantomjs截图,多个setTimeout是为了让页面尽量加载完整/**截图test.js**/varpage=require(‘webpage’).create();page.viewportSize={width:1024,height:600};page.open(‘http://www.2345.com/’,function(status){varbb=…

    2022年7月14日
    25
  • LSTM时间序列预测及网络层搭建[通俗易懂]

    最近看到一篇博客,是时间预测问题,数据和代码的原地址在这里,https://www.jianshu.com/p/5d6d5aac4dbd下面只是对其复现和思考:首先关于数据预处理的问题,大家可以参考:https://blog.csdn.net/lilong117194/article/details/82911073这里的问题是:给你一个数据集,只有一列数据,这是一个关于时间序列的数据,从…

    2022年4月7日
    436
  • win10关闭端口占用[通俗易懂]

    win10关闭端口占用[通俗易懂]查看win10所有占用端口公式:查看所有:netstat-ano查看对应端口:netstat-ano|findstr"9004"关闭端口:任务管理器中的详细信息对应的PID就是占用的端口关闭即可命令行关闭端口:taskkill-PID进程号-F进程号为19216…

    2022年7月20日
    20
  • 一般线性模型(general linear model,GLM)

    一般线性模型(general linear model,GLM)文章目录广义线性模型与一般线性模型 前言 reference 广义线性模型与一般线性模型 前言 广义线性模型 generalizedl GLM 是对普通线性回归的一种灵活的推广 它允许有误差分布模型且非正态分布的响应变量 广义线性模型通过允许线性模型通过连接函数 linkfunction 与响应变量的相关以及允许每个测量的方差的大小作为其预测值的函数来推广线性回归 公式为 E Y g 1 X E Y g 1 X beta E Y g 1 X 其中 E y 为

    2026年3月16日
    2
  • 详解图像直方图均衡化的原理,附自己写的MATLAB和OpenCV2.x下的直方图均衡化函数源码

    详解图像直方图均衡化的原理,附自己写的MATLAB和OpenCV2.x下的直方图均衡化函数源码图像处理开发需求 图像处理接私活挣零花钱 请加微信 图像处理开发资料 图像处理技术交流请加 群号提问 1 图像直方图均衡化有啥效果 看下面的两幅截图你就知道了 从上面两幅的截图中我们发现 将直方图均衡化算法应用于左侧亮图 对比度不同的各个图像后 得到了右侧直方图大致相同的图像 这体现了直方图均衡化在图像增强方面的自适应性 当原始图像的直方图不同而图像结构性内容相同时 直方图均衡化所得到的结果在视觉上几乎是完全于致的 这样的处理效果对

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号