10.vue学习笔记(组件数据传递-props回调函数子传父+透传Attributes+插槽slot)

news/2024/7/10 3:05:43 标签: 学习, 笔记, vue

文章目录

        • 1.组件数据传递
        • 2.透传Attributes(了解)
          • 禁用Attributes继承
        • 3.插槽slot

1.组件数据传递
我们之前讲解过了组件之间的数据传递,props 和 自定义事件 两种方式
props:父传子
自定义事件:子传父
props通过额外方式实现子传父(回调函数)

原理:实际上还是父传子 父传给子一个函数 子级实现函数的时候回传了一个数据

在这里插入图片描述

<template>
    <h3>ComponentA</h3>
    <ComponentB :title="title" :onEvent="dataFn"/>
    <p>{{ msg }}</p>
</template>
<script>
import ComponentB from './ComponentB.vue'
export default{
    data(){
        return{
            title:"标题",
            msg:""
        }
    },
    components:{
        ComponentB
    },
    methods:{
        dataFn(data){
            console.log(data);
            this.msg = data;
        }
    }
}
</script>
————————————————————————————————————————————————————————————————————————————————
<template>
    <h3>ComponentB</h3>
    <p>{{ title }}</p>
    <p>{{ onEvent('传递数据') }}</p>
</template>
<script>
export default{
    data(){
        return{

        }
    },
    props:{
        title:String,
        onEvent:Function
    }
}
</script>
2.透传Attributes(了解)
是指传递给一个组件,却没有被该组件声明为props或者emits的attribute或者v-on事件监听器。最常见的例子就是class,style和id

当一个组件以单个元素为根作渲染时,透传的attribute会自动被添加到根元素上

在这里插入图片描述

禁用Attributes继承
export default{
    //禁止继承
    inheritAttrs:false
}
3.插槽slot
我们已经了解到了组件能够接受任意类型的js值作为props,但组件要如何接收模板内容呢?
在某些场景中,可能想要为子组件传递一些模板片段(div,a标签等),让子组件在它们的组件中渲染这些片段

在这里插入图片描述

<template>
  <SlotsBase>
    <div>
      <h3>插槽标题</h3>
      <p>插槽内容</p>
    </div>
  </SlotsBase>
</template>
<script>
import SlotsBase from "./components/SlotsBase.vue";

export default{
  components:{
    SlotsBase
  }
}
</script>
<style>

</style>
————————————————————————————————————————————————————————————————————————————————
<template>
    <h3>插槽知识</h3>
    <slot></slot>
</template>
<slot>元素是一个插槽出口(slot outlet),标示了父元素提供的插槽内容将在哪里被渲染

http://www.niftyadmin.cn/n/5387834.html

相关文章

WPF 开发调试比较:Visual Studio 原生和Snoop调试控制台

文章目录 前言运行环境简单的WPF代码实现一个简单的ListBoxVisual Studio自带代码调试热重置功能测试实时可视化树查找窗口元素显示属性 Snoop调试使用Snoop简单使用调试控制台元素追踪结构树Visual/可视化结构树Logical/本地代码可视化树AutoMation/自动识别结构树 WPF元素控制…

电路设计(26)——速度表的multisim仿真

1.设计要求 设计一款电路&#xff0c;能够实时显示当前速度。 用输入信号模拟行驶的汽车&#xff0c;信号频率的1hz代表汽车速度的1m/s。最后速度显示&#xff0c;以km/h为单位。 2.电路设计 当输入信号频率为40HZ时&#xff0c;显示的速度应该为144KM/h&#xff0c;仿真结果为…

GitLab代码库提交量统计工具

1.说明 统计公司所有项目的提交情况&#xff0c;可指定分支和时间段&#xff0c;返回每个人的提交新增数、删除数和总数。 2.API 文档地址&#xff1a;http://公司gitlab域名/help/api/README.md 项目列表查询 返回示例&#xff1a; [{"id": 1, //项目ID"http…

win系统下安装php8.3版本并配置环境变量的详细教程

本篇文章主要讲解在win系统下安装和配置php8.3版本&#xff0c;并配置环境变量的详细教程。 日期&#xff1a;2024年2月22日 作者&#xff1a;任聪聪 一、下载php8.3版本包 php8.3版本官方下载地址&#xff1a;https://windows.php.net/download#php-8.3 步骤一、打开下载地址…

中东阿拉伯阿联酋迪拜媒体宣发稿新闻报道推广有哪些平台渠道?跨境出海营销

【本篇由言同数字科技有限公司原创】阿拉伯联合酋长国是一个经济和文化极为繁荣的地区&#xff0c;其中的迪拜更是以其独特的地理位置、国际化的环境和世界级的商业和金融中心而出名。 1. 全球市场&#xff1a;阿联酋迪拜是一个全球化的商业枢纽&#xff0c;吸引了来自世界各地…

利用docker一键部署LLaMa到自己的Linux服务器,有无GPU都行、可以指定GPU数量、支持界面对话和API调用,离线本地化部署包含模型权重合并

利用docker一键部署LLaMa到自己的Linux服务器,有无GPU都行、可以指定GPU数量、支持界面对话和API调用,离线本地化部署包含模型权重合并。两种方式实现支持界面对话和API调用,一是通过搭建text-generation-webui。二是通过llamma.cpp转换模型为转换为 GGUF 格式,使用 quanti…

Leetcode3036. 匹配模式数组的子数组数目 II

Every day a Leetcode 题目来源&#xff1a;3036. 匹配模式数组的子数组数目 II 解法1&#xff1a;KMP 设数组 nums 的长度为 m&#xff0c;数组 pattern 的长度为 n。 遍历数组 nums 的每个长度是 n1 的子数组并计算子数组的模式&#xff0c;然后与数组 pattern 比较&…

【数据分析之Numpy基础002】如何访问与修改ndarray对象

ndarray对象的访问与修改十分容易&#xff0c;跟list对象的操作一样&#xff0c;直接通过索引或切片操作就可以实现。 ndarray数组的下标也是从0开始&#xff0c;因此可以设置start&#xff0c;stop以及step参数即可从原数组中切割出一个新的数组。 例&#xff1a; 一维数组的…