Vue23-props配置功能

news2024/11/25 20:34:37

Vue2&3-props配置功能

Vue2-props配置

  • 功能:接收从其他组件传过来的数据,将数据从静态转为动态
  • 注意:
    • 同一层组件不能使用props,必须是父组件传子组件的形式。父组件传数据,子组件接收数据。
    • 不能什么数据都接收,可能会出现一些奇怪的bug
    • props接收过来的数据不要修改,页面渲染可能没有问题,但控制台会报错,而且不符合规范

在这里插入图片描述

props的三种接收方法:

  • 第一种:数组形式(常用)
props:['a', 'b']
  • 第二种:类型限制
props : { 
    a : String 
    b : Number 
}
  • 第三种:类型限制,必要性限制,默认值
props : { 
    a : {
        // type:类型(可以是数字,字符串等)
        type : Number, 
        // required:true 或者 false
        // 设置为true视为a必须存在(必填项),没有a则控制台报错
        // 默认情况为false 
        required : true 
    }, 
    b : { 
        type : Number, 
        // default:默认值
        // 在添加默认值之前该字段接收的数据已经有数值时,则默认值无效
        default : 10 
    }
}

传数据的形式(传数据的形式可对应任意一种接受数据的方法):

  • 在标签内传数据
// 父组件
<Info name="张三" :age="12"></Info>

// 子组件
props : ['name', 'age']
  • 在data(){}中传数据
// 父组件
<Info :list="list"></Info>
data() {
    return {
        list : [
            {id:'001', name:'zhangsan', age:'10'},
            {id:'002', name:'lisi', age:'20'}
        ]
    }
}

// 子组件
props : ['list']
  • 在methods : {}中传数据
// 父组件
<Info :list="list"></Info>
method : {
    list(){
        ......
    }
}

// 子组件
props : ['list']
  • 注:传数据的形式有很多,不局限以上用法,也可以在computed : {}中传数据等

怎么用?

  • 父组件传数据,子组件接收数据
// App.vue
<template>
    <div>
        <h1>{{msg}}</h1>
        // 当出现第二 或 第三种带有限定类型的props时,要注意接受的数据是否符合类型限制
        // 不符合类型限制,但又不想修改类型,例如:age="12",可采用v-bind:
        // v-bind:简写形式 => ':',等号后面可以是常量或字符串等
        <Info name="张三" :age="12"></Info>
    </div>
</template>

<script>
    import Info from './components/Info.vue'
    export default {
        name : 'App',
        data() {
            return {
                msg : '个人信息'
            }
        },
        components : {Info}
    }
</script>
// Info.vue
<template>
    <div>
        <h3>姓名:{{name}}</h3>
        <h3>年龄:{{age}}</h3>
    </div>
</template>

<script>
export default {
    name : 'Info',
    data() {
        return {
            name: this.name
        }
    },
    // 数组形式(常用)
    props : ['name','age']
    
    // 带有类型限定
    props : { 
        name : String 
        age : Number 
    }
    
    // 类型限制,必要性限制,默认值
    props : { 
        name : {
            type : Number, 
            required : true 
        },
        age : { 
            type : Number, 
            default : 10 
        }
    }
}
</script>

Vue3-props配置

props的配置在Vue2和Vue3上基本相同,这里主要说明如何用setup调用props的接受数据
  • setup如何调用props?
    • 在setup函数中是没有this关键字的,所以在代用setup函数之前,会先给setup传递一个参数(props)
    • props参数在setup中被包装成一个代理对象,同样具有响应式处理能力
// App.vue
<template>
    <User name="jack" :age="age"></User>
</template>

<script>
    import { ref } from 'vue'
    import Info from './components/Info.vue'
    export default {
        name : 'App',
        components : {Info},
        setup(){
            let age = ref(20)
            return{age}
        }
    }
</script>
// Info.vue
<template>
    <h2>姓名:{{name}}</h2>
    <h2>年龄:{{age}}</h2>
</template>

<script>
    export default {
        name : 'Info',
        // Vue3的props依旧是Vue2的接收方式,没变
        props : [name, age],
        // setup参数名可以随意,没要求
        setup(props){
            console.log(props.name);
            console.log(props.age);
        }
    }
</script>

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

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

相关文章

虚幻C+++基础 day3

常见的游戏机制 Actor机关门 创建一个Actor类&#xff0c;添加两个静态网格与一个触发器 UBoxComponentUStaticMeshComponent 头文件&#xff1a; #include “Components/BoxComponent.h”#include “Components/StaticMeshComponent.h” TriggerDoor.h // Fill out your …

两个int(32位)整数m和n的二进制表达中,求有多少个位(bit)不同?

我先来讲一讲这道题的大概意思&#xff1a;假设我们输入的是 0 和 1: 0的32位二进制中为&#xff1a;000……0(32位) 1的32位二进制中为&#xff1a;000……1(32位) 那么就有一位不同。 方法一&#xff1a; 既然是二进制中&#xff0c;那么就是满二进一&#xff0c;就像…

操作系统·进程管理

2.1 前趋图和程序执行 2.1.1 前趋图 前趋图是一个有向无循环图&#xff0c;记为DAG&#xff0c;可用于描述程序/进程之间执行的前后关系&#xff0c;无循环关系可实现顺序执行。 2.1.2 程序的顺序执行 在计算机系统中只有一个程序在运行&#xff0c;这个程序独占系统中所有资…

基于FPGA的PCIe-Aurora 8/10音频数据协议转换系统设计阅读笔记

文章可知网下载阅读&#xff0c;该论文设计了一种 PC 到光纤模块&#xff08;基于Aurora的光纤传输&#xff09;的数据通路&#xff0c;成功完成了Aurora 以及 DDR 等模块的功能验证。 学习内容&#xff1a; 本次主要学习了Pcie高速串行总线协议、Aurora高速串行总线协议、DDR相…

Android 11.0 禁止弹出系统simlock的锁卡弹窗功能实现

1.前言 在11.0的系统rom产品定制化开发中,在关于定制sim卡定制机的一款产品中,需要实现simlock锁卡功能,在系统实现锁卡功能以后,在开机的过程中,或者是在插入sim卡 后,当系统检测到是禁用的sim卡后,就会弹出simlock锁卡弹窗,要求输入puk 解锁密码,功能需求禁用这个弹…

树莓派4B的测试记录(CPU、FFMPEG)

本文是用来记录树莓派 4B 的一些测试记录。 温度 下面记录中的风扇和大风扇是这样的&#xff1a; 为什么要用大风扇呢&#xff1f;因为小风扇在外壳上&#xff0c;气流通过外壳的珊格会有啸叫&#xff0c;声音不大但是很烦人&#xff0c;大风扇没这个问题&#xff0c;并且同样…

QMetaType和QVariant使用

描述 QMetaType和QVariant可以结合使用&#xff0c;用于在运行时确定数据类型。 QMetaType是Qt提供的用于管理各种数据类型的类&#xff0c;它可以帮助我们在运行时动态地创建、销毁、复制和比较数据类型。我们可以使用QMetaType来注册我们自己的数据类型&#xff0c;并为其提…

用于图像处理的高斯滤波器 (LoG) 拉普拉斯

一、说明 欢迎来到拉普拉斯和高斯滤波器的拉普拉斯的故事。LoG是先进行高斯处理&#xff0c;继而进行拉普拉斯算子的图像处理算法。用拉普拉斯具有过零功能&#xff0c;实现边缘岭脊提取。 二、LoG算法简述 在这篇博客中&#xff0c;让我们看看拉普拉斯滤波器和高斯滤波器的拉普…

【STM32】STM32的Cube和HAL生态

1.单片机软件开发的时代变化 1.单片机的演进过程 (1)第1代&#xff1a;4004、8008、Zilog那个年代&#xff08;大约1980年代之前&#xff09; (2)第2代&#xff1a;51、PIC8/16、AVR那个年代&#xff08;大约2005年前&#xff09; (3)第3代&#xff1a;51、PIC32、Cortex-M0、…

Python Selenium Headless:以 Headless 模式打开 Chrome 浏览器

本篇文章介绍了如何在 Python 中使用 Selenium 运行浏览器无头模式。 在 Python 中使用 Selenium 以无头模式运行 Chrome 浏览器 要说 headless 浏览器,你也可以称它们为真正的浏览器,只不过它们是在后台运行的; 您将无法在任何地方看到它们,但它们仍在后台运行。 在某些…

拓世科技集团打造数字人营销解决方案,为车企提供新的“增长担当”

汽车&#xff0c;已经渐渐融入了现代人的日常生活&#xff0c;从高端的身份标志转变为普罗大众的出行选择&#xff0c;它驶入了千家万户&#xff0c;成为了我们日常出行的可靠伙伴&#xff0c;见证着人们的生活故事和时代的变迁。 中国汽车市场的蓬勃发展引起了业内外的广泛关…

达梦数据库-Win10安装

目录结构 前言达梦数据库达梦数据库适用场景达梦数据库 PK MySQL达梦数据库安装数据库下载解压下载的压缩文件安装详细步骤安装关键节点配置 DM管理工具启动DM管理工具DM管理工具连接达梦数据库 参考链接 前言 达梦数据库Win10系统安装整理&#xff1b; 达梦数据库 达梦数据库…

Netty第三部

继续Netty第二部的内容 一、ChannelHandler 1、ChannelHandler接口 ChannelHandler是Netty的主要组件&#xff0c;处理所有的入站和出站数据的应用程序逻辑的容器&#xff0c;可以应用在数据的格式转换、异常处理、数据报文统计等 继承ChannelHandler的两个子接口&#xff…

uniapp踩坑之项目:隐藏显示密码功能

1.input组件的password设置为动态前面加:冒号&#xff1b; 2.动态切换眼睛图标使用:style //html <view> 密码&#xff1a;<input placeholder"请输入密码" :password"openPassword" type"text" placeholder-style"color:#e2e2e2;…

QT QStackedWidget

QStackedWidget是一个特殊的布局容器&#xff0c;它可以管理多个页面&#xff0c;并且只能显示其中一个页面。这些页面是QWidget或其派生类的实例&#xff0c;并通过调用addWidget()函数添加到堆栈中。 例如&#xff1a; #include <QWidgets> #include <QStackedWid…

PTE-RA总结

目录 FIBW刷题记录 1.The Plains Indians were people who did not like 2.An economic depression is a period of sustained 3.Pidgins are languages that are born after contact between 4.It is tempting to try to prove that good looks 5.The stock of Austral…

华为云,阿里云,腾讯云 安全组配置规则

1.安全组常用端口 端口服务说明21FTPFTP服务所开放的端口&#xff0c;用于上传、下载文件。22SSHSSH端口&#xff0c;用于通过命令行模式或远程连接软件&#xff08;例如PuTTY、Xshell、SecureCRT等&#xff09;连接Linux实例。23TelnetTelnet端口&#xff0c;用于Telnet远程登…

红队系列-IOT安全深入浅出

红队专题 设备安全概述物联网设备层次模型设备通信模型 渗透测试信息收集工具 实战分析漏洞切入点D-link 850L 未授权访问 2017 认证绕过认证绕过 D-link DCS-2530Ltenda 系列 路由器 前台未授权RTSP 服务未授权 访问 弱口令命令注入思科 路由器 固件二进制 漏洞 IoT漏洞-D-Lin…

HBase学习笔记(1)—— 知识点总结

目录 HBase概述 HBase 基本架构 HBase安装部署启动 HBase Shell HBase数据读写流程 HBase 优化 HBase概述 HBase是以 hdfs 为数据存储的&#xff0c;一种分布式、非关系型的、可扩展的 NoSQL 数据库 关系型数据库和非关系型数据库的区别&#xff1a; 关系型数据库和非关…

Java代码是怎么运行的?

Java代码是怎么运行的&#xff1f; 运行流程 将Java程序转换成Java虚拟机所能识别的指令序列&#xff0c;也称Java字节码。之所以这么取名&#xff0c;是因为Java字节码指令的操作码&#xff08;opcode&#xff09;被固定为一个字节。 Java虚拟机可以由硬件实现&#xff0c;…