前端 JS 经典:单向数据流

前言:Vue 的父子组件通信就遵循单向数据流的原则,父组件传给子组件的参数,子组件只能使用,不能修改。

1. 核心概念

数据的拥有者才能修改数据。因为当数据出了问题后只需要去找数据的拥有者就可以了。如果在其他地方也修改这个数据,将来这个数据出了问题,我们要到处去找,不便于维护。

当需要在子组件中修改父组件中的数据时,不能直接修改,我们需要触发父组件的事件,让父组件去修改数据。保持数据单向原则。

2. 父子组件通信

在 Vue 中,父组件通过 props 向子组件传递数据,子组件通过 $emit 触发事件并向父组件通信

3. 祖先组件通信

在 Vue 中,祖先组件和子孙组件通信时,可以通过 provide/inject 进行通信。

父组件中通过 provide 来提供变量,然后在子组件中通过 inject 来注入变量,不论子组件嵌套有多深,只要调用了 inject 就可以注入 provide 中的数据

4. 兄弟组件通信

在 Vue 中,创建一个全局的 Vue 实例来充当事件总线,所有组件都可以监听和触发事件。或者使用状态管理工具 Vuex、Pinia 等。

相关推荐
BD_Marathon2 分钟前
【JavaWeb】JS_数据类型和变量
开发语言·javascript·ecmascript
qq_229058015 分钟前
react的3中请求
前端·react.js·前端框架
渴望成为python大神的前端小菜鸟7 分钟前
VUE 面试题
前端·javascript·vue.js·面试题
想要成为糕糕手9 分钟前
深入理解 JavaScript 中的 “this”:从自由变量到绑定规则
前端·javascript
北极象10 分钟前
Electron + Playwright 一文多发应用架构设计
前端·javascript·electron
咖猫12 分钟前
guacamole-web 1.5.5 index.html
前端·javascript·html
getapi17 分钟前
Express 是一个基于 Node.js 的轻量级、灵活的 Web 应用框架,广泛用于构建后端服务和 API
前端·node.js·express
渣波19 分钟前
🧳 我的 React Trip 之旅(5):我的 AI 聊天机器人,今天又把用户气笑了
前端·javascript
boombb22 分钟前
数据驱动与CSS预定义样式:实现灵活多变的Banner布局
前端
JIngJaneIL24 分钟前
基于Java失物招领系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·vue