vue3.0vue2.0-prop

注:本篇涉及到的知识点,组合式<script setup>模式以及vue2.0和vue3.0选项式,组合式中非<script setup>模式,使用比较少,不再讲解,可自行看官网

目录

一、vue3.0组合式

1、vue3.0组合式prop传值: 父组件传值给子组件

2、vue3.0组合式emit通知:子通知父组件事件

二、vue3.0选项式&&vue2.0

三、命名建议

四、不同类型值传递注意事项

五、使用一个对象绑定多个prop

六、vue3.0和vue2.0的所有校验写法

一、vue3.0组合式

1、vue3.0组合式prop传值: 父组件传值给子组件

父组件:

import childTem from "./childTem"
import { ref } from "vue"const name = ref("wyz")<childTem :name-now="name">

子组件:

import { defineProps } from "vue"defineProps(["nameNow"])<div>{{nameNow}}</div>

2、vue3.0组合式emit通知:子通知父组件事件

子组件:

// 第一种方式直接在模板中使用emit
<div @click="emit('someEvent', 111,222,333)">子公园</div>// 第二种在script中使用defineEmits
<div @click="someEvent()">子公园</div>// defineEmits是一个数组,可以接收多个事件名
const emit = defineEmits(["parentEvent", "parentEvent1"])const someEvent = () =>{emit("parentEvent") // parentEvent父组件事件emit("parentEvent1") // parentEvent1父组件事件
}

父组件:

// 对应的第一种方式
<childTem @some-event="someEvent" />const someEvent=(value, value1, value2)=>{console.log(value, value1, value2)
}// 对应第二种方式
<childTem :name-now="name" @parent-event="parentEvent" @parent-event1="parentEvent1" />const someEvent=()=>{console.log("没有异议吧")
}const someEvent1=()=>{console.log("没有异议吧1")
}

二、vue3.0选项式&&vue2.0

子组件:

<div @click="parentClick">{{nameTime}}</div>// 接收父组件传过来的值
props:["nameTim"]parentClick(){// 触发父组件的parentEmit事件this.$emit("parentEmit", 111, 222, 333)
}

父组件:

<childTem :name-time="name" @parent-emit="parentEmit" />import childTem from "./childTem"
components:{childTem}data(){name:"wyz"
}// 接收子组件的事件通知
parentEmit(value, value1, value2){console.log(value, value1, value2)
}

三、命名建议

1、组件命名推荐使用camelCase形式

<childTem />

2、传递的props推荐使用kebab-case形式

<cildTem :name-now="name" :number-now="1">

3、prop的接收和使用推荐使用camelCase形式,因为它们是合法的javascript标识符,可以直接在模板的表达式中使用

defineProps({nameNow: String,numberNow: NUmber
})<div>{{nameNow}} - {{nameNow}}</div>

四、不同类型值传递注意事项

1、number的常量传递,需要使用v-bind,不然会被当成一个字符串而不是一个表达式

<blogPost :likes="42" />

2、boole

<blogPost is-publish> // 会隐式转换成true<blogPost :is-publish="false"> // 需要使用v-bind

3、array数组:常量的传递需要添加v-bind

<blogPost :array-list="[1,2,3,4]"> // 需要使用v-bind

4、对象

<blogPost :ao-object="{name: "wyz"}"> // 需要使用v-bind

五、使用一个对象绑定多个prop

如果你想要将一个对象的所有属性都当作props传入,你可以使用没有参数v-bind,即只使用v-bind而非:prop-name

const post = {id: 1,name: 'wyz'
} 
<blogPost v-bind="post" />

六、vue3.0和vue2.0的所有校验写法

Props | Vue.js, 需要注意一下函数类型的默认值的写法2.0不支持,其他的2.0和3.0都是一样的

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

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

相关文章

【ZYNQ实验】第一篇、ZYNQ驱动HDMI显示图片

目录 第一部分、实验说明 1、点名过来看 2、实验说明 2.1、涉及到的知识 2.2、使用的硬件 3、测试效果 3.1、实验一效果 3.2、实验二效果 4、写在前面 5、参考文献 第二部分、硬件搭建 第三部分、实现方法 1、实验一 1.1、实验一原理图 1.2、MATLAB图片转换代码…

Rosalind 039 Expected Number of Restriction Sites

这个问题结合了分子生物学中的限制性酶&#xff08;restriction enzymes&#xff09;的概念和概率统计学的应用。 生物背景&#xff1a; 限制性酶&#xff1a;细菌使用这些酶来切割病毒DNA的双链&#xff0c;从而使病毒失去功能。这些酶在病毒DNA上切割的位置被称为限制位点。…

适合 C++ 新手学习的开源项目——在 GitHub 学编程

作者&#xff1a;HelloGitHub-小鱼干 俗话说&#xff1a;万事开头难&#xff0c;学习编程也是一样。在 HelloGitHub 的群里&#xff0c;经常遇到有小伙伴询问编程语言如何入门方面的问题&#xff0c;如&#xff1a; 我要学习某一门编程语言&#xff0c;有什么开源项目可以推荐…

nginx下upstream模块详解

目录 一&#xff1a;介绍 二&#xff1a;特性介绍 一&#xff1a;介绍 Nginx的upstream模块用于定义后端服务器组&#xff0c;以及与这些服务器进行通信的方式。它是Nginx负载均衡功能的核心部分&#xff0c;允许将请求转发到多个后端服务器&#xff0c;并平衡负载。 在upst…

RA8900CE汽车用c总线接口实时时钟模块

汽车用c总线接口实时时钟模块内置调频32.768 kHz晶体单元和DTCXO&#xff0c;高稳定性和电源切换。 接口类型我 2C-Bus接口(400kHz)界面电压范围2.5V ~ 5.5V温度补偿电压范围2.0V至5.5V计时电压范围1.6V ~ 5.5V可选时钟输出(32.768 kHz, 1024 Hz, 1 Hz)各种功能齐全的日历、报…

如何配置Zabbix告警邮件通知并基于GPT提供解决方案?

一、概述 时间来到2023年末&#xff0c;距离Open AI发布GPT-3.5&#xff0c;首次向公众推出ChatGPT已经整整过去了一年。如今&#xff0c;以ChatGPT为代表的人工智能模型已然被应用众多领域&#xff0c;当然也包括IT运维。在IT运维中&#xff0c;通过对接运维监控平台&#xff…

windows机器上安装mysql

0、mysql下载地址 1、参考文章 2、把Data数据目录迁移到其他盘 2.0 首先停止mysql&#xff08;任务管理器-详细信息-随便找个进程右击进入转入服务&#xff0c;找到MySQL服务&#xff0c;点击停止&#xff09; 2.1 windows的 mysql默认的data目录在C:\ProgramData\MySQL\MySQ…

深度神经网络中的混合精度训练

Mixed-Precision Training of Deep Neural Networks | NVIDIA Technical Blog 目录 混合精度成功训练的技术 FP32 累加 损失缩放 loss scaling FP32 Master Copy of Weights 混合精度训练迭代过程 AMP混合精度训练介绍 FP16和FP32的区别 FP16的优势 FP16的问题 解决P…

多线程基础入门【Linux之旅】——上篇【线程控制,线程互斥,线程安全】

目录 前文 回望页表 一&#xff0c;什么是线程 二&#xff0c;使用 pthread_create &#xff08;线程创建&#xff09; 三&#xff0c;线程控制 1 &#xff0c;线程共享进程数据&#xff0c;但也拥有自己的一部分数据: 2&#xff0c; 线程 VS 进程优点 3&#xff0c;…

在前端利用Broadcast Channel实现浏览器跨 Tab 窗口通信的方法

Broadcast Channel 在前端&#xff0c;我们经常会用postMessage来实现页面间的通信&#xff0c;但这种方式更像是点对点的通信。对于一些需要广播&#xff08;让所有页面知道&#xff09;的消息&#xff0c;用postMessage不是非常自然。Broadcast Channel 就是用来弥补这个缺陷…

DVenom:一款功能强大的Shellcode加密封装和加载工具

关于DVenom DVenom是一款功能强大的Shellcode加密封装和加载工具&#xff0c;该工具专为红队研究人员设计&#xff0c;可以帮助红队成员通过对Shellcode执行加密封装和加载实现反病毒产品的安全检测绕过。 功能介绍 1、支持绕过某些热门反病毒产品&#xff1b; 2、提供了多种…

vue中的$nextTick的作用及使用场景

文章目录 一、$nextTick的作用二、特点和用途三、使用场景&#xff1a;1、在 Vue 组件内部使用&#xff1a;2、在普通 JavaScript 代码中使用&#xff1a; 三、注意事项 一、$nextTick的作用 $nextTick() 是 Vue 提供的一个异步方法&#xff0c;用于在 DOM 更新之后执行回调函…

【React系列】react-router

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. 认识react-router 1.2. 前端路由原理 前端路由是如何做到URL和内容进行映射呢&#xff1f;监听URL的改变。 UR…

新视野英语课本复盘1

the triumpth of years of hard work 多年的辛勤付出的胜利 get by on very little sleep 靠很少的睡眠勉强维持生活或工作 pursue new passions 追求新的热爱之事 reap the benefits of this opportunity 收获这个机会带来的益处 you will not only emerge as a more broadly …

目标检测YOLO实战应用案例100讲-基于红外图像处理的无人机光伏组件故障检测(续)

目录 3.2 自适应温度阈值故障检测算法设计 3.3 基于拟合灰度曲线的故障检测方案设计

自动生成表结构screw

采用的组件 screw 操作流程&#xff1a; 1、新建springboot 项目 2、引入相关的依赖 <!-- screw核心 --><dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.4</version><…

数据库知识汇总之NoSQL

目录 数据库常见分类关系型数据库NoSQL数据库NoSQL数据库5大类型NoSQL数据库在 大数据时代的优势 数据库常见分类 数据库可以根据不同的标准进行分类&#xff0c;以下是一些常见的数据库分类方式&#xff1a; 关系型数据库&#xff08;RDBMS&#xff09;&#xff1a;这是最常…

SwiftUI之深入解析如何使用visualEffect视图修饰符

一、visualEffect 简介 在 WWDC 23 中&#xff0c;SwiftUI 引入了一个名为 visualEffect 的新视图修饰符&#xff0c;此修饰符允许通过访问特定视图的布局信息来附加一组可动画化的视觉效果。那么&#xff0c;如何在 SwiftUI 中使用新的 visualEffect 视图修饰符呢&#xff1f…

超简单|配图详细| 双系统Ubuntu22.04 系统磁盘扩容

文章目录 1. 打开磁盘工具2. 格式化空闲分区3. 挂载该分区4. 数据迁移与备份5. 卸载原分区6. 挂载新的/home分区7. 重启系统8. 删除原来的数据8.1 直接格式化分区8.2 没有单独的/home分区1. 查看设备名2. 重新挂载该分区3. 删除原始分区/home目录中的内容4. 卸载原分区5. 重启 …

关于无人机上层控制的PID算法的思考

一、前言 背景介绍&#xff1a;PID虽然出现了很多年&#xff0c;但是目前工业界还是把PID作为主流的控制算法&#xff08;尽管学术界有很多非常时尚的控制算法&#xff0c;包括鲁邦控制&#xff0c;神经网络控制等等&#xff09;&#xff0c;PID的算法在于其不需要对系统进行复…