9.vue学习笔记(组件传递Props校验+组件事件-组件传递数据+组件事件-配合“v-model”使用)

news2024/10/7 15:26:24

文章目录

        • 1.组件传递Props校验
          • 1.1.默认值
          • 1.2.必选项
          • 1.3.注意事项:props 是只读的
        • 2.组件事件-组件传递数据
          • 2.1.温馨提示:组件之间传递数据的方案
        • 3.组件事件-配合“v-model”使用

1.组件传递Props校验
Vue组件可以更细致地声明对传入的 props 的校验要求
以下例子为接收String类型传输number控制台警告

在这里插入图片描述

接收多种类型
props:{
   title:{
       type:[String,Number,Array,Object]
   }
}
1.1.默认值
模拟情况:传递数据的时候并没有真实传递

在这里插入图片描述

<template>
    <h3>ComponentA</h3>
    <ComponentB :title="title" :age="age" :names="names"/>
</template>

<script>

import ComponentB from './ComponentB.vue';

export default{
    data(){
        return{
            title:"测试",
            //age:20,
            //names:["Tom","Bob"]
        }
    },
    components:{
        ComponentB
    }
}
</script>
________________________________________________________________________________
<template>
    <h3>ComponentB</h3>
    <p>{{ title }}</p>
    <p>{{ age }}</p>
    <ul>
        <li v-for="(name,index) of names" :key="index">{{ name }}</li>
    </ul>
</template>

<script>
export default{
    data(){
        return{

        }
    },
    props:{
        title:{
            type:[String,Number,Array,Object]
        },
        age:{
            type:Number,
            default:0
        },
        //数字和字符串可以直接default,但是如果是数组和对象,必须通过工厂函数返回默认值
        names:{
            type:Array,
            default(){
                return ["xxx"]
            }
        }
    }
}
</script>
1.2.必选项
没有传值就会提示警告

在这里插入图片描述

1.3.注意事项:props 是只读的

在这里插入图片描述

2.组件事件-组件传递数据
在组件的模板表达式中,可以直接使用$emit方法触发自定义事件
触发自定义事件的目的是组件之间传递数据(子传父)

在这里插入图片描述

<template>
    <h3>组件事件</h3>
    <ChildVue @someEvent="getHandle"/>
    <p>父元素:{{ message }}</p>
</template>
<script>

import ChildVue from "./Child.vue";

export default{
    data(){
        return {
            message:""
        }
    },
    components:{
        ChildVue
    },
    methods:{
        getHandle(data){
            console.log("触发了",data);
            this.message = data;
        }
    }
}

</script>
________________________________________________________________________________
<template>
    <h3>Child</h3>
    <button @click="clickEventHandle">传递数据</button>
</template>
<script>

export default{
    data(){
        return{
            msg:"Child数据!"
        }
    },
    methods:{
        clickEventHandle(){
            //自定义事件
            this.$emit("someEvent",this.msg)
        }
    }
}

</script>
2.1.温馨提示:组件之间传递数据的方案
1.父传子:props (子级不可变更父级传来的数据:只读)
2.子传父:自定义事件( this.$emit )
3.组件事件-配合“v-model”使用
v-model:输入的同时获取用户输入的信息
希望实现:组件A输入数据,组件B实时得到数据

在这里插入图片描述

<template>
    <SearchComponent @searchEvent="getSearch"/>
    <h3>Main</h3>
    <p>搜索内容为:{{ search }}</p>
</template>
<script>
import SearchComponent from './SearchComponent.vue'

export default{
    data(){
        return{
            search:""
        }
    },
    components:{
        SearchComponent
    },
    methods:{
        getSearch(data){
            this.search = data
        }
    }
}
</script>
________________________________________________________________________________
<template>
    搜索:<input type="text" v-model.lazy="search">
</template>
<script>
export default{
    data(){
        return{
            search:""
        }
    },
    watch:{
        search(newValue,oldValue){
            this.$emit("searchEvent",newValue);
        }
    }
}
</script>

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

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

相关文章

基于JAVA+SpringBoot+Vue的前后端分离的电子商城

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 在当今数字化时代&…

人工智能与机器学习行业新闻:颠覆企业运营方式的 AI 趋势

AI 推动业务转型 人工智能 (AI) 和机器学习已经在重塑各行各业的业务模式。AI 通过处理和整合数据支持战略决策的制定&#xff0c;其规模和速度远远超过了人脑。无疑&#xff0c;未来我们还将在 AI 领域取得许多重大突破&#xff0c;而拥有大量数据的行业可能会从人工智能革命…

C++ Primer 笔记(总结,摘要,概括)——第3章 字符串、向量和数组

目录 3.1 命名空间的using声明 3.2 标准库类型string 3.2.1 定义和初始化string对象 3.2.2 string对象上的操作 3.2.3 处理string对象中的字符 3.3 标准库类型vector 3.3.1 定义和初始化vector对象 3.3.2 向vector对象中添加元素 3.3.3 其他vector操作 3.4 迭代器介绍 3.4.…

”戏说“ 交换机 与 路由器

一般意义上说 老哥 这文章发表 的 东一榔头 西一锤 呵呵&#xff0c; 想到哪里就啰嗦到哪里 。 交换机&#xff1a; 其实就是在通道交换 路由器&#xff1a; 不光是在通道交换还要在协议上交换 下图你看懂了吗&#xff1f; &#xff08;仅仅数据交换-交换机 协议…

安卓开发:挑战每天发布一个封装类02--Wav录音封装类AudioChannel 1.0

简介 库名称&#xff1a;AudioChannel 版本:1.0 由于项目需求录音并base64编码存到服务器中&#xff0c;就顺手改装了一个别人的封装类 原封装类地址:Android AudioRecord音频录制wav文件输出 - 简书 (jianshu.com) 描述&#xff1a;此封装类基于AudioRecord实现wav的音频…

10.CSS3的calc函数

CSS3 的 calc 函数 经典真题 CSS 的计算属性知道吗&#xff1f; CSS3 中的 calc 函数 calc 是英文单词 calculate&#xff08;计算&#xff09;的缩写&#xff0c;是 CSS3 的一个新增的功能。 MDN 的解释为可以用在任何长度、数值、时间、角度、频率等处&#xff0c;语法如…

详细描述一下CrossOver2024版本的用途和作用?

当然可以。CrossOver 是一款由 CODE WEAVERS 公司开发的软件&#xff0c;其主要目标是在 macOS 和 Linux 系统上实现与 Windows 应用程序的兼容性。它不同于传统的虚拟机&#xff0c;如 Parallels 或 VMware&#xff0c;因为它并不在 macOS 上创建一个完整的 Windows 环境。相反…

【进程概念】

目录 什么是在计算机运行的程序这么多运行的程序计算机是如何管理的先描述再组织 什么是在计算机运行的程序 对于一个在磁盘可执行的二进制文件&#xff0c;也可叫做可执行程序。对于一个可执行的程序&#xff0c;程序有自己的代码和数据。一旦运行起来&#xff0c;就会在计算…

旅游分享系列之:福建旅游攻略

旅游分享系列之&#xff1a;福建旅游攻略 一、漳州1.福建土楼2.云水谣3.四菜一汤景点 二、厦门1.园林博览苑2.海上自行车道3.山海步道4.海滩5.闽南菜6.落日 三、泉州1.衙口沙滩2.海上日出3.珞珈寺4.海滩烟花 一、漳州 游玩2个景点&#xff1a;云水谣&#xff0c;四菜一汤可以住…

永恒之黑和永恒之蓝 漏洞解析及复现

充当攻击机的机器是kali&#xff0c;另外需要关闭防火墙策略。 永恒之黑&#xff08;CVE-2020-0796&#xff09; 靶机&#xff1a;windows 10的IP地址&#xff1a;192.168.200.30 原理&#xff1a;实现远程代码执行 注意&#xff1a; 这个脚本运行有时候会导致靶机蓝屏&am…

OpenAI Sora引领AI跳舞视频新浪潮:字节跳动发布创新舞蹈视频生成框架

OpenAI的Sora已经引起广泛关注&#xff0c;预计今年AI跳舞视频将在抖音平台上大放异彩。下面将为您详细介绍一款字节跳动发布的AI视频动画框架。 技术定位&#xff1a;这款框架采用先进的diffusion技术&#xff0c;专注于生成人类舞蹈视频。它不仅能够实现人体动作和表情的迁移…

(done) 什么是正定矩阵?Positive Definite Matrices

正定矩阵的定义&#xff1a;https://baike.baidu.com/item/%E6%AD%A3%E5%AE%9A%E7%9F%A9%E9%98%B5/11030459 正定矩阵的作用、验证视频&#xff1a;https://www.bilibili.com/video/BV1Ag411M76G/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c…

webpack配置杂记

1、热更新 安装webpack-dev-server : npm i webpack-dev-server -D webpack.config.js配置 module.exports {// 其他配置...,// 热更新配置devServer: {host: "localhost",port: 3000,}, } 2、入口entry&#xff1a;使用相对路径们也就是webpack程序运行的路径&am…

PNAS|多倍体物种极致突破

羊草&#xff08;Leymus chinensis&#xff09;是欧亚草原多年生优势草本植物&#xff0c;以其显著的适应性和饲料品质而闻名。尽管人们越来越认识到其生态和经济价值&#xff0c;但基因组序列的缺失及其遗传转化所面临的挑战限制了其在基础研究和野生植物改良方面的关键应用。…

transformer,视觉模型改进论文的讨论

1、efficientVIT efficientformer 模型 快48.9倍的新SAM&#xff01;清华&MIT&英伟达开源EfficientViT-SAM&#xff1a;精度不变&#xff0c;原地起飞 YOLOv8改进 | 2023主干篇 | EfficientViT替换Backbone&#xff08;高效的视觉变换网络&#xff09; - Snu77的文章 -…

《Python 语音转换简易速速上手小册》第5章 音频数据处理(2024 最新版)

文章目录 5.1 音频数据的基本处理5.1.1 基础知识5.1.2 主要案例&#xff1a;音频剪辑工具案例介绍案例 Demo案例分析 5.1.3 扩展案例 1&#xff1a;自动音量调节器案例介绍案例 Demo案例分析 5.1.4 扩展案例 2&#xff1a;语音识别预处理案例介绍案例 Demo案例分析 5.2 使用 Py…

dell r740服务器黄灯闪烁维修现场解决

1&#xff1a;首先看一下这款DELL非常主力的PowerEdge R740服务器长啥样&#xff0c;不得不说就外观来说自从IBM抛弃System X系列服务器后&#xff0c;也就戴尔这个外观看的比较顺眼。 图一&#xff1a;是DELL R740前视图&#xff08;这款是8盘机型&#xff09; 图二&#xff…

散列表Hash Table(哈希表)+散列函数+散列冲突及散列表插入、查找的时间复杂度分析

散列表(Hash Table)又名哈希表/Hash表,是根据键key直接访问在内存存储位置的值value的数据结构,它是由数组演化而来的,利用了数组支持按照下标进行随机访问数据的特性。但这个键key有时不是纯数值&#xff0c;不能够做为数组的下标&#xff0c;这时就可以把这个非纯数值的key转…

MediaPipe姿态识别pose_landmark_lite.tflite缺失问题

背景说明 最近朋友提供了一个姿态识别的简易代码&#xff0c;让自己帮忙调试改进一下。自己打开代码看了一下&#xff0c;使用的是mediapipe 框架进行的人体姿态检测&#xff0c;当我在配置好环境初始化pose&#xff08;姿态检测对象&#xff09;时出现了错误&#xff1a;Downl…

喀秋莎画中画怎么设置 喀秋莎画中画视频怎么导出 喀秋莎什么意思 camtasia studio下载

画中画视频&#xff0c;顾名思义&#xff0c;就是在一个视频中有两个画面&#xff0c;游戏解说、微课等类型的视频常常就以画中画的形式出现。作为一款专业的视频编辑软件&#xff0c;使用camtasia可以轻松地制作画中画视频并导出。接下来我将为大家介绍&#xff1a;喀秋莎画中…