vue中子组件跟父组件通信this.$emit()的使用

今天开发前端页面时遇到了一个问题,子组件中实现表单提交后需要隐藏表单这个页面并跳转,表单的父级是在父组件上的,跳转好解决,直接this.$router.replace('/url')就完事了。那么怎么触发父级上面的事件呢?后面查了下资料,发现emit这个好东西,下面是一些代码段:


<template>
     <addcz @closecz="closecz"></addcz>
</template>

<script>
export default {
  components: {
      addcz
   },
     methods: {
        closecz(){
              this.czpanel = false
        }
    }

}
</script>


子组件:

<script>
    export default {
        methods: {
          submit_add() {
               //代码逻辑
                   this.$emit('closecz')
      },
    }
</script>   


子组件直接通过this.$emit("自定义事件"),然后父组件在组件中添加@自定义事件=“event” 就可以实现了

玩咖指针 2021-03-12 14:38:50