欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue父组件监听子组件生命周期

程序员文章站 2022-03-29 08:15:18
...

1、子组件

<template>
<div>子组件</div>
</template>
<script>
export default {
  data () {
    return {

    }
  },
  created () {
    /**
     * 方法二
     * 通过@hook 监听 @hook:created="parentMethods2"(created是子组件生命周期)
     * 父组件事件parentMethods2监听到了子组件生命周期created
     */
  },
  mounted () {
    /**
     * 方法一
     * 子组件触发父组件的方法通过绑定事件(@methods1="parentMethods1")
     * 在子组件使用this.$emit('methods1')触发此事件
     */
    this.$emit('methods1')
  }
}
</script>
<style scoped lang="less">

</style>

2、父组件

<template>
<div>

  <Child @hook:created="parentMethods2" @methods1="parentMethods1"/>
</div>
</template>
<script>

/**
 * 方法一 @methods1="parentMethods1
 * 有父组件 Parent 和子组件 Child,如果父组件监听到子组件挂载 mounted 就
 * 做一些逻辑处理,可以通过以下写法实现
 *
 * 方法二  @hook:created="parentMethods2"
 * 更简单的方式可以在父组件引用子组件时通过 @hook 来监听即可
 * @hook 方法不仅仅是可以监听 mounted,其它的生命周期事件,
 * 例如:created,updated 等都可以监听。
 */
import Child from './child'
export default {
  components: {
    Child
  },
  methods: {
    parentMethods1 () {
      console.log('父组件监听到子组件 mounted 钩子函数 ...')
    },
    parentMethods2 () {
      console.log('父组件监听到子组件 mounted 啦 ...')
    }
  }
}
</script>
<style scoped lang="less">

</style>

相关标签: vue