Vue2 组件基础使用、父子组件之间的传值

news2024/11/24 20:41:08

一、什么是组件

如画红框的这些区域都是由vue里的各种组件组成、提高复用信

通常一个应用会以一棵嵌套的组件树的形式来组织:
例如,你可能会有页头、侧边栏、内容区等组件,每个组件又包含了其它的像导航链接、博文之类的组件。
为了能在模板中使用,这些组件必须先注册以便 Vue 能够识别。这里有两种组件的注册类型:全局注册局部注册。至此,我们的组件都只是通过 Vue.component 全局注册的:

创建一个组件示例:

然后到app.vue 进行使用

<script>
import Content from './components/Content.vue'  //组件
export default {
  data(){
    return{

    };
  },
  components:{   //使用组件的函数
    Content
  }
};
</script>

<template>
  <!-- 使用组件 -->
    <Content></Content>
</template>

<style scoped></style>
向父容器传值:

传递 prop

如果我们正在构建一个博客,我们可能需要一个表示博客文章的组件。我们希望所有的博客文章分享相同的视觉布局,但有不同的内容。要实现这样的效果自然必须向组件中传递数据,例如每篇文章标题和内容,这就会使用到 prop。

父容器向子组件通过 :任意命名 传递到子组件
子组件通过props 来取到的数据
app.vue 里就取到了

Prop类型: 对接受的类型进行限制
  • String

  • Number

  • Boolean

  • Array

  • Object

  • Date

  • Function

  • Symbol

Boolean 类型转换#

为了更贴近原生 boolean attributes 的行为,声明为 Boolean 类型的 props 有特别的类型转换规则。以带有如下声明的 <MyComponent> 组件为例:

js

export default {  props: {    disabled: Boolean  }}

该组件可以被这样使用:

template

<!-- 等同于传入 :disabled="true" --><MyComponent disabled /><!-- 等同于传入 :disabled="false" --><MyComponent />

当一个 prop 被声明为允许多种类型时,例如:

js

export default {  props: {    disabled: [Boolean, Number]  }}

无论声明类型的顺序如何,Boolean 类型的特殊转换规则都会被应用。

  • 所有 prop 默认都是可选的,除非声明了 required: true。

  • 除 Boolean 外的未传递的可选 prop 将会有一个默认值 undefined。

  • Boolean 类型的未传递 prop 将被转换为 false。这可以通过为它设置 default 来更改——例如:设置为 default: undefined 将与非布尔类型的 prop 的行为保持一致。

  • 如果声明了 default 值,那么在 prop 的值被解析为 undefined 时,无论 prop 是未被传递还是显式指明的 undefined,都会改为 default 值。

自定义事件向父容器传递数据

一、定义一个@click事件通过事件将子数据msgs传递

二、 在父组件中,通过v-on监听子组件中自定义的事件 赋值给父容器msg

三、父组件访问子组件$refs

ref把子组件的属性传给了父组件

打印后查看

四、子组件访问父组件和跟组件

<!-- 子组件访问父组件:$parent -->的数据 不推荐使用 影响复用性

<!-- 子组件访问根组件:$root -->

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mybatis中添加、查询、修改、删除

在Mybatis中添加数据的操作 编写相对应的SQL语句&#xff0c;并完成相关数据的对应关系 编写测试用例 需要提交事务 sqlSession commit() 这里需要注意的是mybatis是默认的是手动提交事务&#xff0c;如果不写的话会进行回滚&#xff0c;添加操作就不会被执行 或者在 如果…

15- TensorFlow基础 (TensorFlow系列) (深度学习)

知识要点 TensorFlow是深度学习领域使用最为广泛的一个Google的开源软件库 .TensorFlow中定义的数据叫做Tensor(张量), Tensor又分为常量和变量. 常量一旦定义值不能改变. 定义常量: t tf.constant([[1., 2., 3.], [4., 5., 6.]])定义变量: v tf.Variable([[1., 2., 3.], [4…

黑盒测试用例设计方法-边界值分析法

一、边界值定义 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充&#xff0c;这种情况下&#xff0c;其测试用例来自等价类的边界。 长期的测试工作经验告诉我们&#xff0c;大量的错误是发生在输入或输出范围…

Vision Transformer(ViT)

1. 概述 Transformer[1]是Google在2017年提出的一种Seq2Seq结构的语言模型&#xff0c;在Transformer中首次使用Self-Atttention机制完全代替了基于RNN的模型结构&#xff0c;使得模型可以并行化训练&#xff0c;同时解决了在基于RNN模型中出现了长距离依赖问题&#xff0c;因…

TDG code

部分 数据集 参数设置 def setup_args(args None):args.algorithm_name TDG# args.algorithm_name HDGargs.user_num 1000000args.attribute_num 6args.domain_size 64args.epsilon 0.2args.dimension_query_volume 0.5args.query_num 20args.query_dimension 3运行…

leetcode 41~50 学习经历

leetcode 41~50 学习经历41. 缺失的第一个正数42. 接雨水43. 字符串相乘44. 通配符匹配45. 跳跃游戏 II46. 全排列47. 全排列 II48. 旋转图像49. 字母异位词分组50. Pow(x, n)小结41. 缺失的第一个正数 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的…

C语言数据结构(二)—— 受限线性表 【栈(Stack)、队列(Queue)】

在数据结构逻辑层次上细分&#xff0c;线性表可分为一般线性表和受限线性表。一般线性表也就是我们通常所说的“线性表”&#xff0c;可以自由的删除或添加结点。受限线性表主要包括栈和队列&#xff0c;受限表示对结点的操作受限制。一般线性表详解&#xff0c;请参考文章&…

数据结构基础之栈和队列

目录​​​​​​​ 前言 1、栈 2、队列 2.1、实现队列 2.2、循环队列 前言 上一篇中我们介绍了数据结构基础中的《动态数组》&#xff0c;本篇我们继续来学习两种基本的数据结构——栈和队列。 1、栈 特点&#xff1a;栈也是一种线性结构&#xff0c;相比数组&#xff…

(汇总记录)电机控制算法

1.S曲线应用电机加减速 电机控制 | S曲线加减速 - Tuple - 博客园 (cnblogs.com) 如要将S型曲线应用到电机的加减速控制上&#xff0c;需要将方程在X、Y坐标系进行平移&#xff0c;同时对曲线进行拉升变化&#xff1a;即 Y A B / ( 1 exp( -ax b ) ) &#xff0c;则根据该…

Pandas怎么添加数据列删除列

Pandas怎么添加数据列 1、直接赋值 # 1、直接赋值df.loc[:, "最高气温"] df["最高气温"].str.replace("℃", "").astype("int32")df.loc[:, "最低气温"] df["最低气温"].str.replace("℃"…

Java异常架构与异常关键字

Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。 Java异常机制可以使程序中异常处理代码和正常业务代码分离&#xff0c;保证程序代码更加优雅&#xff0c;并提高程序健壮性。在有效使用异常的情况下&#xff0c;异常能清晰的回答what, where, why这3个问…

【编程入门】N种编程语言做个应用市场(appstore)

背景 前面已输出多个系列&#xff1a; 《十余种编程语言做个计算器》 《十余种编程语言写2048小游戏》 《17种编程语言10种排序算法》 《十余种编程语言写博客系统》 《十余种编程语言写云笔记》 《N种编程语言做个记事本》 本系列做了个应用市场&#xff0c;支持下载安装安卓…

Bootstrap系列之导航

Bootstrap导航 可以在 ul 元素上添加 .nav类&#xff0c;在每个 li 选项上添加 .nav-item 类&#xff0c;在每个链接上添加 .nav-link 类: 基本的导航 <div class"container mt-3"><h2>导航</h2><p>简单的水平导航:</p><ul class&…

基于yolov5与改进VGGNet的车辆多标签实时识别算法

摘 要 为了能快速、有效地识别视频中的车辆信息&#xff0c;文中结合YOLOv3算法和CNN算法的优点&#xff0c;设计了一种能实时识别车辆多标签信息的算法。首先&#xff0c;利用具有较高识别速度和准确率的YOLOv3实现对视频流中车辆的实时监测和定位。在获得车辆的位置信息后…

《亚马逊逆向工作法》读书笔记

文章目录书籍信息构件&#xff1a;领导力准则与机制亚马逊领导力准则机制&#xff1a;强化领导力准则年度计划&#xff1a;OP1与OP2S-Team目标亚马逊的薪酬制度&#xff1a;强化长期思维招聘&#xff1a;亚马逊独特的抬杆者流程抬杆者招聘流程组织&#xff1a;独立单线程领导模…

Redis-Java代码使用示例

在我之前的项目中&#xff0c;使用Redis是我们团队自己封装了一个Redis操作类&#xff0c;但是这只是在Spring提供的RedisTemplate上做了一层封装而已&#xff0c;当时使用不是很熟练&#xff0c;都是一边在网上查资料&#xff0c;一边使用&#xff1b;这篇文章会介绍两种使用方…

分布式一致性算法——Paxos 和 Raft 算法

写在前面 本文隶属于专栏《100个问题搞定大数据理论体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见100个问题搞定大数据理论体系 I. 简介 介绍Paxos…

局域网实现PC、Pad、Android互联

文章目录局域网实现PC、Pad、Android互联一、网络邻居1、 Windows 配置1.1 开启共享功能1.2 设置用户1.3 共享文件夹2、 Pad 连接二、 FTP & HTTP1、 电脑配置1.1 HTTP 服务1.2 FTP 服务2、 连接3、 电脑连接 FTP三、 其他方式局域网实现PC、Pad、Android互联 在我们使用多…

【micropython】SPI触摸屏开发

背景&#xff1a;最近买了几块ESP32模块&#xff0c;看了下mircopython支持还不错&#xff0c;所以买了个SPI触摸屏试试水&#xff0c;记录一下使用过程。硬件相关&#xff1a;SPI触摸屏使用2.4寸屏幕&#xff0c;常见淘宝均可买到&#xff0c;驱动为ILI9341&#xff0c;具体参…

windows服务器实用(2)——搭建本地文档管理(gitbit的部署)

windows服务器实用——部署gitbit 在日常的项目管理中&#xff0c;无论是文档还是代码&#xff0c;一般都是存在本地。但是本地的文件存在一定的不确定性&#xff0c;尤其是当文档经常改动的时候&#xff0c;如果要找回之前改动的文件是很困难的。如果每次的改动都存在本地&am…