Vue脚手架插槽 slot 学习

slot插槽

<slot></slot>

1. 默认插槽

引入:原本的分类组件是显示的文字,但现在某些需要换成图片 / 视频,用很多的 v-show 去控制就很麻烦

作用:直接把组件标签中的所有内容放到想要放的位置

App.vue

<template>
  <div id="app">
    <!-- 默认插槽:直接把所有东西解析到该组件里的<slot></slot>位置 -->
    <ElementTest>
        <h6>789</h6>
        <h6>hhh</h6>
    </ElementTest>
  </div>
</template>

<script>
import ElementTest from './components/ElementTest.vue'

export default {
  name: 'App',
  components: {
    ElementTest
  }
}
</script>

<style>
</style>

ElementTest.vue

<template>
    <div id="container">
        <h2>123</h2>
        <!-- 1. slot标签会将App.vue中<ElementTest>子组件标签中的内容全部放入到当前位置 -->
        <slot></slot>
        <h2>456</h2>
        <!-- 2. 子组件可以插入多个slot槽 -->
        <!-- <slot></slot> -->
    </div>
</template>

<script>
    
    export default{		
        name: 'ElementTest'
    }
</script>

<style scoped>
 #container {
    text-align: center;
 }
</style>

2. 具名插槽

引入:某个分类组件中需要显示多个分类,每个分类的内容各不相同

作用:可以分别控制组件中的想要渲染的html标签的内容,slot标签用name属性取名,<template>标签使用属性 slot = [slot标签的name名]

App.vue

<template>
  <div id="app">
    <!-- 默认插槽:直接把所有东西解析到组件里的<slot></slot>位置 -->
    <ElementTest>
      <!-- 1. 组件标签中用template标签包裹需要渲染的内容,定义属性 slot = [slot标签的name名] -->
      <template slot="first_slot">
        <h6>hhhh</h6>
      </template>
      <template slot="second_slot">
        <h6>wwww</h6>
      </template>
    </ElementTest>
  </div>
</template>

<script>
import ElementTest from './components/ElementTest.vue'

export default {
  name: 'App',
  components: {
    ElementTest
  }
}
</script>

<style>
</style>

ElementTest.vue

<template>
  <div id="app">
    <ElementTest>
      <!-- 1. 组件标签中用template标签包裹需要渲染的内容,定义属性 slot = [slot标签的name名] -->
      <template slot="first_slot">
        <h6>hhhh</h6>
      </template>
      <template slot="second_slot">
        <h6>wwww</h6>
      </template>
    </ElementTest>
  </div>
</template>

<script>
import ElementTest from './components/ElementTest.vue'

export default {
  name: 'App',
  components: {
    ElementTest
  }
}
</script>

<style>
</style>

3. 作用域插槽

引入:多个相同组件中显示的分类内容一样,但结构不同(第一个无序列表、第二个有序列表)

作用:可以给slot标签设 :自定义属性 = [要传的数据名],从而将定义插槽的子组件的指定属性传给插槽的使用者App.vue中的定义的子组件标签对象,配合template,定义scope属性=[scope名],通过 [scope名].[自定义属性] 在template中可以获取到传过来的参数值

App.vue

<template>
  <div id="app">
    <ElementTest>
      <!-- 1. 组件标签中用template标签包裹需要渲染的内容,定义属性 slot = [slot标签的name名] -->
      <template scope="params">
         <template v-if="params.isOrder">
            <ol>
              <li v-for="item in list" :key="item.id">{{item.name}}</li>
            </ol>
         </template>
         <template v-else>
            <ul>
              <li v-for="item in list" :key="item.id">{{item.name}}</li>
            </ul>
         </template>
      </template>
    </ElementTest>
  </div>
</template>

<script>
import ElementTest from './components/ElementTest.vue'

export default {
  name: 'App',
  components: {
    ElementTest
  },
  data() {
      return {
        list: [
          {id: '001', name: '张三',age: 18},
          {id: '002', name: '李四', age: 19}
        ]
      }
  }
}
</script>

<style>
</style>

ElementTest.vue

<template>
    <div id="container">   
        <!-- isOrder的值传递给 ElementTest 组件对象 -->
        <slot :isOrder="true"></slot>
        <slot :isOrder="false"></slot>
    </div>
</template>

<script>
    
    export default{		
        name: 'ElementTest',
    }
</script>

<style>
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/729271.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

webgis 之 地图投影

地图投影 什么是地图投影目的种类等角投影的分类墨卡托投影Web 墨卡托投影 参考小结 为了更好地展示地球上的数据&#xff0c;需要将地球投影到一个平面上。地图投影是一个数学问题&#xff0c;按照一定的几何关系&#xff0c;将地球上的经纬度坐标映射到一个平面上的坐标。地球…

c++里 父类私有的虚函数,也是可以被子类重写和继承的。但父类私有的普通函数,子类无法直接使用

谢谢 。今天看课本上有这么个用法&#xff0c;特测试一下。这样就也可以放心的把父类的私有函数列为虚函数了&#xff0c;或者说把父类的虚函数作为私有函数了。 再补充一例&#xff1a;

用Nuitka打包 Python,效果竟如此惊人!

目录 为什么选择Nuitka&#xff1f; Nuitka的工作原理 Nuitka的工作流程大致如下&#xff1a; 安装Nuitka 实战案例 示例代码 打包程序 运行可执行文件 进阶技巧 优化选项 多文件项目 打包第三方库 使用Python开发一个程序后&#xff0c;将Python脚本打包成独立可执…

小红书xs-xt解密

在进行小红书爬虫的时候,有一个关键就是解决动态密文的由来 这边用atob对X-S密文进行解密 可以看到他是一个字符串 可以发现他本来是一个json对象,因为加密需要字符串,所以将json对象转化 为了字符串 而在js中,常用JSON.stringify进行json对象到字符串的转化。 这边将JS…

无版权图片素材搜索网站,解决无版权图片查找问题

在数字内容创作领域&#xff0c;图片素材的选择至关重要。一张高质量、合适的图片不仅能够吸引读者的眼球&#xff0c;还能有效传达信息。然而&#xff0c;找到既免费又无版权限制的图片素材并非易事。小编将为大家介绍几个解决这一问题的无版权图片素材搜索网站&#xff0c;这…

第19章 大数据架构设计理论与实践

19.1 传统数据处理系统存在的问题 海量数据的&#xff0c;数据库过载&#xff0c;增加消息队列、甚至数据分区、读写分离、以及备份以及传统架构的性能的压榨式提升&#xff0c;都没有太明显的效果&#xff0c;帮助处理海量数据的新技术和新架构开发被提上日程。 19.2 大数据处…

国产MCU芯片(2):东软MCU概览及触控MCU

前言: 国产芯片替代的一个主战场之一就是mcu,可以说很多国内芯片设计公司都打算或者已经在设计甚至有了一款或多款的量产产品了,这也是国际大背景决定的。过去的家电市场、过去的汽车电子市场,的确国产芯片的身影不是很常见,如今不同了,很多fabless投身这个行业,一种是…

性能测试并发量评估新思考:微服务压力测试并发估算

性能测试并发量评估新思考 相信很多人在第一次做压力测试的时候&#xff0c;对并发用户数的选择一直有很多的疑惑&#xff0c;那么行业内有一些比较通用的并发量的计算方法&#xff0c;但是这些方法在如今微服务的架构下多少会有一些不适合&#xff0c;下面的文章我们对这些问题…

从0开始C++(三):构造函数与析构函数详解

目录 构造函数 构造函数的基本使用 构造函数也支持函数重载 构造函数也支持函数参数默认值 构造初始化列表 拷贝构造函数 浅拷贝和深拷贝 析构函数 总结 练习一下ヽ(&#xffe3;▽&#xffe3;)&#xff89; 构造函数 构造函数的基本使用 构造函数是一种特殊的成…

不知道怎么下载原版系统,这几个原版系统下载网站可以帮你

电脑是我们日常办公生活中必备不可少的设备&#xff0c;无论是个人使用还是企业部署&#xff0c;拥有一个稳定、安全且纯净的操作系统对于保障数据安全和提升使用体验至关重要。然而&#xff0c;网络上充斥着各种二次打包的系统版本&#xff0c;这些版本往往携带了第三方软件或…

班古精准营养X朗格力:教你如何应对慢阻肺

#肺科营养#朗格力#班古营养#复合营养素#肺部营养#肺部健康# 肺是除皮肤外人体中唯一直接与外界联系的器官。一副好肺,能为身体供应充足的氧气,使生命动力更足,人体免疫力、自愈力更强。肺好,生命动力就足,保肺就是保命!但有不少人却没能拥有健康的肺,而是患上了慢阻肺。 专家指…

国外创意二维码活动:喜力Heineken助力爱尔兰濒临倒闭酒吧转型博物馆?

今天分享一个很有意思的国外二维码活动案例。爱尔兰酒馆拥有非常悠久的历史&#xff0c;闻名于世界。但是因为经营成本、税收等的不断增加&#xff0c;自2005年起&#xff0c;四分之一的爱尔兰酒吧相继关闭&#xff0c;这其中包括拥有1229年历史的世界上最古老的酒吧。 于是&a…

Hi3861 OpenHarmony嵌入式应用入门--点灯

本篇实现对gpio的控制&#xff0c;通过控制输出进行gpio的点灯操作。 硬件 我们来操作IO2&#xff0c;控制绿色的灯。 软件 GPIO API API名称 说明 hi_u32 hi_gpio_deinit(hi_void); GPIO模块初始化 hi_u32 hi_io_set_pull(hi_io_name id, hi_io_pull val); 设置某个IO…

用群辉NAS打造影视墙(Video Station篇)

目录 一、群辉套件Video Station 1、安装 2、进入系统 3、配置刮削器 4、获取TMDB网站API密钥 5、配置DNS (1)开启SSH (2)使用终端工具连接到NAS (3)修改hosts文件 (4)再次测试连接 6、设置目录 二、手机端APP设置 三、电视端APP 四、解决影视信息错误 N…

TikTok API接口——获取TikTok用户QRcode二维码

一、引言 在数字化时代&#xff0c;QRcode二维码已经成为连接线上线下的重要桥梁。在社交媒体领域&#xff0c;TikTok作为短视频领域的佼佼者&#xff0c;用户量庞大且活跃度高。为了满足用户之间更便捷的互动需求&#xff0c;我们特别开发了一款针对TikTok平台的接口&#xf…

MATLAB神经网络---lstmLayer(LSTM 长短期记忆神经网络)

前言 描述LSTM就要先描述一下循环神经网络 循环神经网络 循环神经网络通过使用带自反馈的神经元&#xff0c;使得网络的输出不仅和当前的输入有关&#xff0c;还和上一时刻的输出相关&#xff0c;于是在处理任意长度的时序数据时&#xff0c;就具有短期记忆能力。 如下是一个…

内存优化技巧:让数据处理更高效

Pandas无疑是我们数据分析时一个不可或缺的工具&#xff0c;它以其强大的数据处理能力、灵活的数据结构以及易于上手的API赢得了广大数据分析师和机器学习工程师的喜爱。 然而&#xff0c;随着数据量的不断增长&#xff0c;如何高效、合理地管理内存&#xff0c;确保Pandas Da…

【贪心算法初级训练】在花坛上是否能种下n朵花、碰撞后剩余的行星

1、在花坛上是否能种下n多花 一个很长的花坛&#xff0c;一部分地已经种植了花&#xff0c;另一部分却没有&#xff0c;花不能种植在相邻的地块上否则它们会争夺水源&#xff0c;两者都会死去。给你一个整数数组表示花坛&#xff0c;由若干个0和1组成&#xff0c;0表示没种植花…

课程设计:班级通讯录管理系统(Java+MySQL)

本项目旨在开发一个基于Java的班级通讯录管理系统&#xff0c;使用MySQL作为数据库&#xff0c;采用Swing进行UI设计。系统主要功能包括管理员登录认证、班级信息管理、学生信息管理。每个班级拥有独立窗口&#xff0c;同时注重窗口复用和代码精简&#xff0c;实现自适应布局&a…

性价比高的洗地机推荐,测评员精选四款热门洗地机分享

家庭清洁新升级&#xff0c;家用洗地机可以让家里打扫变得轻松高效。面对众多品牌和型号&#xff0c;朋友们常犯难&#xff1a;到底应该怎么选家用洗地机&#xff1f;别急&#xff0c;我这回的普及知识可不含糊&#xff0c;亲测超十款热门洗地机&#xff0c;从中精挑细选了四款…