当前位置:主页 > 网页前端 > vue >

Vue中父子组件通信与事件触发的深入讲解

时间:2022-08-12 10:02:55 | 栏目:vue | 点击:

一、组件

子组件

<template>
  <div style="border:1px solid black;width:400px; height: 130px;">
    <h3>我是子组件</h3>
    <button>子组件将值传递给父组件</button>
    <div>子组件接收父组件的值:</div>
  </div>
</template> 

父组件

<template>
 <div style="border:1px solid red;padding:2rem;width:400px;margin:0 auto;">
    <h3>我是父组件</h3>
    <div>子组件向父组件传递的值:</div>
    <Child></Child>
  </div>
</template>

<script>
import Child from './Child';
export default {
    components: {
        Child
    }
}
</script>

效果展示:

通过这张图可以看出父子组件的结构,下面我们来实习父子组件通信。

二、父子组件通信

父组件给子组件通信

实现思路:子组件通过 props 来接受父组件传过来的值。

可以看到,我们父组件向子组件通信已经实现了,接下来就是子组件向父组件通信了,这个就要使用到 this.$emit 方法了。

子组件向父组件通信

实现思路:通过在子组件中使用 this.$emit 来触发自定义事件并传值,然后在父组件中监听该事件即可。

点击子组件中的“子组件将值传递给父组件”,就可看到如下效果:

三、父子组件事件触发

父组件调用子组件中的事件方法

两种实现方式效果一致。

调用方法前:

调用方法后:

子组件调用父组件中的事件方法

以上三种实现方式效果一致。

调用方法前:

调用方法后:

四、总结

至此,Vue 父子组件之间大部分的操作都涉及到了,我们在程序的开发过程中对于该部分内容可以游刃有余了。

您可能感兴趣的文章:

相关文章