vue学习day07-scoped样式冲突、data是一个函数、props详解、组件通信、非父子通信-event bus 事件总线

news2024/9/22 1:05:09

19、scoped样式冲突

(1)默认情况:写在组件中的样式会全局生效,因此会很容易造成多个组件之间的样式冲突问题。

1)全局样式:默认组件中的样式会作用到全局

比如:

当只有box1设置边框时,却出现都有边框的情况

2)局部样式:可以给组件加上scoped属性,可以让样式只作用于当前组件

给box1加上scoped后

结果:

(2)scoped原理:

1)当前组件内标签都添加data-v-hash值的属性
2)css选择器都被添加[data-v-hash值]的属性选择器
3)最终效果:必须是当前组件的元素,才会有这个自定义属性,才会被这个样式作用到
4)示例:

20、data是一个函数

一个组件中的data选项必须是一个函数。这可以保证每个组件实例,维护独立的一份数据对象。(每次创建新的组件实例,都会执行一次data函数,得到一个新对象)

比如:

当一个组件在根组件里多次使用时,该组件中的某一项数据值被使用多次,修改该值其中一个值,而不影响该值在其他地方的数值

21、组件通信

组件的数据是独立的,无法访问其他组件的数据,如果想用其他组件的数据,需要使用组件通信

(1)概念

组件通信就是指组件与组件之间的数据传递

(2)组件之间的关系

父子关系和非父子关系

 

(3)组件通信解决方案

1)父子关系(props和$emit)
①父传子

在父组件里:

在子组件中:

效果:

②子传父

子组件利用$emit通知父组件,进行修改更新

比如:

修改父传子的值

效果:

点击修改标题后

2)非父子(看23、24)

Provide和inject或eventbus

通用解决方案:Vuex(适合复杂业务场景)

22、props详解

(1)prop概念

组件上注册的一些自定义属性

(2)prop作用

向子组件传递数据

(3)特点:

1)可以传递任意数量的prop
2)可以传递任意类型的prop

(4)props校验

1)作用

为组件的prop指定验证要求,不符合要求,控制台会有错误提示;版主开发者快速发现错误

2)语法

简单写法

完整写法:

①类型校验

②非空校验

③默认值

④自定义校验

(5)prop与data、单项数据流

1)prop与data(谁的数据谁负责)
共同点:

①都可以给组件提供数据

区别:

①data的数据是自己的,可以随便改

②prop的数据是外部的,不能直接修改,要遵循单项数据流

2)单项数据流

父级prop的数据更新,会向下流动,影响子组件。这个流动是单向的。

23、非父子通信-event bus 事件总线

(1)作用:非父子组件之间,进行消息传递。(复杂场景,用vuex)

(2)步骤:

1)创建一个事件总线,导出Bus实例

2)发送方,触发Bus实例
①导入Bus实例
②通过$emit触发

3)接收方,监听Bus实例
①导入Bus实例
②通过$on接收消息

(3)示例:

 

24、非父子通信-provide-inject(拓展)

(1)作用:跨层级共享数据

(2)父组件提供数据,子/孙组件接收数据

 

 

(3)数据可以是普通类型(非响应式),也可以是复杂类型(响应式)

1)非响应式

如上图的num

2)响应式

如上图的userInfo

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

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

相关文章

外贸国际短信群发工具的开发源代码!

在外贸行业中,快速、准确地与客户进行沟通是业务成功的关键之一,随着科技的不断进步,国际短信群发工具成为了外贸从业者不可或缺的工具。 本文将通过科普五段源代码,带您深入了解外贸国际短信群发工具的开发原理和实现过程。 一…

【题目/训练】回溯算法练习

&#x1f342;八皇后 二进制来表示。 #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <unordered_map> using namespace std;int n; #define MASK(n) ((1<<(n1))-2) //如 6 得到的是1000 0000 …

阐述 C 语言中的参数传递机制

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; &#x1f4d9;C 语言百万年薪修炼课程 通俗易懂&#xff0c;深入浅出&#xff0c;匠心打磨&#xff0c;死磕细节&#xff0c;6年迭代&#xff0c;看过的人都说好。 文章目…

谷粒商城踩坑记录-网关服务启动报错

文章目录 一&#xff0c;错误表现二&#xff0c;错误原因三&#xff0c;解决方案1&#xff0c;排除无关依赖2&#xff0c;调整依赖关系 一&#xff0c;错误表现 在启动Spring Cloud Gateway服务时&#xff0c;控制台输出了一系列错误信息&#xff0c;指出应用程序未能成功启动…

单元测试Mockito笔记

文章目录 单元测试Mockito1. 入门1.1 什么是Mockito1.2 优势1.3 原理 2. 使用2.0 环境准备2.1 Mock1) Mock对象创建2) 配置Mock对象的行为(打桩)3) 验证方法调用4) 参数匹配5) 静态方法 2.2 常用注解1) Mock2) BeforeEach 与 BeforeAfter3) InjectMocks4) Spy5) Captor6) RunWi…

在 Java 中:为什么不能在 static 环境中访问非 static 变量?

在 Java 中&#xff1a;为什么不能在 static 环境中访问非 static 变量&#xff1f; 1、静态&#xff08;static&#xff09;变量2、非静态&#xff08;非static&#xff09;变量3、为什么不能访问&#xff1f;4、如何访问&#xff1f;5、总结 &#x1f496;The Begin&#x1f…

百度2025校园招聘内推开始啦

百度2025校园招聘内推开始啦&#xff0c;快来投递你心仪的职位吧&#xff08; 网申链接地址&#xff1a;https://talent.baidu.com/jobs/list?recommendCodeIZB4S3&recruitTypeGRADUATE &#xff09;填入内推码&#xff0c;完成投递&#xff0c;get内推绿色通道~我的内推码…

GEO的表达矩阵的探针ID转换成基因名称教程

GEO的表达矩阵的探针ID转换成基因名称教程 前情回顾 根据GSE id自动下载处理GEO数据(必须要运行的模块) 该模块的运行窗口截图 该模块的教程 知乎地址&#xff1a;根据GEO的GSE数据集编号自动下载和处理GEO数据教程: https://zhuanlan.zhihu.com/p/708053447 该根据GSE id…

第1章 初识 Express

1.1 什么是 Express Express 是一个简洁而灵活的 Node.js Web 应用框架&#xff0c;提供了一系列强大的特性用于开发 Web 和移动应用。它基于 Node.js 构建&#xff0c;并且与 Node.js 的非阻塞 I/O 模型无缝集成&#xff0c;使其非常适合于构建高性能的 Web 应用。 主要特点…

idea修改全局配置、idea中用aliyun的脚手架,解决配置文件中文乱码

idea修改全局配置 idea中用aliyun的脚手架&#xff0c;创建springBoot项目 解决配置文件中文乱码

【笔记】虚拟机中的主从数据库连接实体数据库成功后的从数据库不同步问题解决方法2

错误&#xff1a; Last_Errno: 1008 Last_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction ANONYMOUS at source log mysql-bin.000014, end_log_pos 200275. See error lo…

JavaWeb(四:Ajax与Json)

一、Ajax 1.定义 Ajax&#xff08;Asynchronous JavaScript And XML&#xff09;&#xff1a;异步的 JavaScript 和 XML AJAX 不是新的编程语言&#xff0c;指的是⼀种交互方式&#xff1a;异步加载。 客户端和服务器的数据交互更新在局部页面的技术&#xff0c;不需要刷新…

剪画小程序:职场上如何提高工作效率?

亲爱的宝子们&#xff0c;不知道你们有没有遇到过这样的情况&#xff1a; 在公司里&#xff0c;老板突然让你整理一份国外产品介绍视频里的关键信息&#xff0c;可那是外语的&#xff0c;听得你一头雾水。 这时候&#xff0c;有什么方法或办法&#xff01;能快速准确地将视频中…

02对话系统---图片的导入

样式 例&#xff1a; 1.<styleH1> Hellow <styleH1>world 效果&#xff1a; 样式表 路径&#xff1a; 插入图片 插入默认图片 2.<sprite0> text<sprite0> 效果&#xff1a; 图集路径&#xff1a; 导入单个图片 给…

飞腾平台虚拟机组播性能调优指南

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力&#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域&#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…

网优学习干货:xx5G速率优化现场实战版

速率概述 无线网络仍然是5G网络能力最容易受限的环节&#xff0c;无线网络技术的应用将最终决定5G网络能力的木桶深度。移动通信中传统关键技术在5G将会继续使用。5G NR在继承了LTE原有部分技术基础上&#xff0c;采用了一些技术演进和新技术创新。比如NR继承了LTE的OFDM和SC-…

内网安全:权限维持的各种姿势

1.Linux权限维持 2.Windows权限维持 目录&#xff1a; 一.Linux权限维持&#xff1a; 1.webshell&#xff1a; 2.定时任务&#xff1a; 3.SUID后门&#xff1a; 4.SSH Key免密登录后门&#xff1a; 5.添加用户后门&#xff1a; 二.Windows权限维持 1.计划任务后门&…

活用 localStorage

我维护的这款工具 https://editor.yunwow.cn/ 已经帮我写了 7 篇文章了&#xff0c; 用起来很顺手&#xff0c;因此我打算再给它升级下让它更方便&#xff0c;我决定要给它加个本地缓存功能。我给它提的要求是&#xff1a; 1. 至少能缓存 5 篇文章 2. 能有选择的加载模板 3…

C语言:指针详解(4)

作者本人由于大一下学期事情繁多&#xff0c;大部分时间都在备赛&#xff0c;没有时间进行博客撰写&#xff0c;如今已经到了暑假时间&#xff0c;作者将抓紧每一天的时间进行编程语言的学习&#xff0c;由于目前作者已经进行到了C的学习&#xff0c;C语言阶段的学习与初阶数据…

QT之嵌入外部第三方软件到本窗体中

一、前言 使用QT开发&#xff0c;有时需要调用一些外部程序&#xff0c;但是单独打开一个外部窗口有的场合很不合适&#xff0c;最好是嵌入到开发的QT程序界面中。还有就是自己开发的n个程序&#xff0c;一个主程序托n个子程序&#xff0c;为了方便管理将各个程序独立&#xf…