浅浅总结一下-- Vue组件通信/组件传值(父传子、子传父、兄弟通信)

280 阅读2分钟

前言

在Vue开发中,组件通信是一个非常重要的概念。由于Vue采用了组件化的开发方式,将复杂的界面拆分成一个个可复用的组件,这就引发了组件之间的通信问题。当一个应用程序变得复杂起来,组件之间的通信变得尤为重要,因为我们需要在组件之间传递数据、共享状态、响应事件等。
接下来我将着重介绍Vue组件通信的几种常见方式:父组件向子组件传值子组件向父组件传值,以及兄弟组件之间的通信。了解和掌握这些通信方式,将帮助我们更好地构建可维护、可扩展的Vue应用程序。

父组件向子组件传值 (方法一 : props)

父组件通过自定义属性传递,子组件通过props接收数据。 父组件传值props子组件接收.jpg

父组件传值props子组件接收222.jpg

父组件向子组件传值 (方法二 : $refs)

父组件通过 $refs API配合ref 属性获取子组件的实例,调用子组件实例的方法的同时传参给子组件。 父传ref子.jpg

父传ref子222.jpg

(注:图片上注释有个小错误 是$refs)

父组件向子组件传值 (方法三 : $children)

父组件通过 $children [0下标] 获取到子组件的实例,调用子组件实例的方法的同时传参给子组件。

父传$children子.jpg

父传children子222.jpg

子组件向父组件传值 (方法一 : $emit)

子组件通过emit触发父组件自定义事件的同时将emit触发父组件自定义事件的同时将emit的第二个参数传给父组件$event接收。

子传$emit父.jpg

子传$emit父222.jpg

子组件向父组件传值 (方法二 : $parent)

子组件通过 $partent 获取到父组件的实例,调用子组件实例的方法的同时传参给父组件。

子传$parent父.jpg

子传$parent父222.jpg

子组件向父组件传值 (方法三 : 父组件通过Props方法)

父组件通过props给子组件传参方法,子组件接收并调用父组件传递的方法的同时传参给父组件;

子传通过父-props-传参修改.jpg

子传通过父-props-传参修改222.jpg

兄弟组件间传值通信 (状态提升:父传子+子传父相结合)

状态提升,把兄弟之间的通信变成子父,父子之间传递关系; 假如:子组件B要修改子组件A数据

先将子组件A的数据提升放到父组件中,子组件B通过子传父传参修改父组件的数据,
再让父组件父传子传参给子组件A 并修改子组件A的数据。
这就实现了: 子组件B 修改 子组件A的数据。

兄弟通信111.jpg

兄弟通信222.jpg

结尾

Vue组件通信/组件传值是Vue开发中的重要方面,它允许我们在不同的组件之间传递数据和实现交互。本篇博客浅浅的总结了几种常见的Vue组件传值通信方式,包括父组件向子组件传值子组件向父组件传值,以及兄弟组件之间的通信。希望能够帮助你深入理解Vue组件通信的概念和实践,开始你的Vue组件通信之旅吧!