当前位置: 首页 > ds >正文

【Vue】scoped+组件通信+props校验

【scoped作用及原理】

【作用】

默认写在组件中style的样式会全局生效, 因此很容易造成多个组件之间的样式冲突问题

故而可以给组件加上scoped 属性, 令样式只作用于当前组件的标签

作用:防止不同vue组件样式污染

【原理】

给组件加上scoped 属性后, 组件发生如下变化:

1. 组件内所有标签都被添加了一个名为data-v-xxxx(八位随机字符串) 的自定义属性(因此, 每个组件生成的这个属性名都各不相同)

2. scope会用这个属性构成属性选择器, 配合程序员编写的选择器, 形成了一个交集选择器

最终:  必须是当前组件的元素, 才会有这个自定义属性, 从而保证了样式只能作用到当前组件

【组件通信】

一个组件把数据传递给另一个组件

组件化开发中,通过代码拆分和组合化作一系列组件的方式进行开发,这种情况下,组件之间难免需要数据传递,这就需要组件通信

因此, 需要辨别两个组件之间的关系, 从而选择不同的组件方案

【父子组件】

父传子: props自定义属性

子传父: emit自定义事件

【非父子组件】

1.祖先与后代: provide() + inject()

2.兄弟组件: eventBus()

【如何辨别关系】

 父子关系: 谁使用, 谁就是父组件, 谁被使用, 谁就是子组件

【父传子原理】

父组件通过props, 将数据传递给子组件

【子传父】

props是只读的,子组件不能修改父组件传递的数据,

因此可以通过emit方式, 通知父组件,父组件收到通知后自行修改 

图中子传父流程:

1.父组件通过点击砍一刀按钮, 执行onCut函数, onCut函数调用emit方法, emit触发子组件的ccc自定义事件

2.ccc事件触发subPrice函数, 并获得emit方法传过去的值用于subPrice的参数, 从而成功执行砍一刀功能

【props校验】

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

语法:

也可以写成完整写法, 达成一些更复杂的需求

【组件的 ref/reactive 与props 的区别】

共同点

都可以给组件提供数据

区别

 1.ref/reactive 的数据是组件自己的 → 随便改, 可读可写

2.prop 的数据是外部的, 是父组件提供的 → 不能直接改,遵循单向数据流原则, 子组件若想改, 需要用到子传父的通信规则

单向数据流: 子组件的props数据来源于父组件, 当父组件数据改了, 会影响子组件的props,这个方向只能是父 --> 子 

http://www.xdnf.cn/news/13327.html

相关文章:

  • istio流量管理问题
  • 2.3 物理层设备
  • python load/loads dump/dumps的区别
  • Web 前端性能优化全景指南与实战策略
  • 何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡
  • 2025-06-09 java面试总结
  • 新基建浪潮下:中国新能源汽车充电桩智慧化建设与管理实践
  • CC攻击与WAF的对抗战
  • 深入理解 Socket 的底层原理
  • 【前端】每日一道面试题7:WeakMap和WeakSet是干嘛用的,有哪些使用场景
  • Linux-08 ubuntu 的 chrome浏览器不能使用 搜狗 输入法,但是火狐可以
  • 高效总结多篇文献的AI工具推荐:如何用AI批量整理文献综述与笔记?
  • 2025-05-08-deepseek本地化部署
  • 单杠引体向上,助力消防智能考核
  • 软件定义车辆加速推进汽车电子技术的未来发展
  • 03_跨域问题解决
  • 在Zenodo下载文件 用到googlecolab googledrive
  • can通信传输bz2文件损坏解决方法
  • Linux字符串占用空间统计方法
  • Supervisor服务监督部署Python+Django应用
  • Docker环境下FileRise私有云盘在飞牛NAS的部署与穿透实践
  • Day10_C语言基础
  • 【黑客与安全】Linux系列命令之进程相关命令
  • 【论文阅读】:Weighted Graph Cuts without Eigenvectors:A Multilevel Approach
  • 如何使用Qwen-VL 2.5进行图像分割
  • 使用Python构建高效词汇表:N-Gram词频统计实战
  • 力扣 1456. 定长子串中元音的最大数目 的多解
  • 图数据在人工智能中的应用场景
  • 苍穹外卖-day03
  • 国防科技大学计算机基础课程笔记02信息编码