zoukankan      html  css  js  c++  java
  • Vue 父组件如何监听子组件的生命周期

    一、通过 $emit 实现

    这里以 mounted 为例,在父组件 Parent 和子组件 Child 中,如果父组件监听到子组件挂载 mounted 就做一些逻辑处理,可以通过以下写法实现:

    // Parent.vue
    <Child @mounted="doSomething"/>
        
    // Child.vue
    mounted() {
      this.$emit("mounted");
    }
    

    以上方法虽然可行,但每次都需要手动写一次 $emit 触发父组件的事件
    更简单的方式可以在父组件引用子组件时通过 @hook 来监听生命周期

    二、通过 @hook 实现

    还是父组件 Parent 和子组件 Child,@hook 的写法如下:

    //  Parent.vue
    <Child @hook:mounted="doSomething" ></Child>
    
    doSomething() {
       console.log('父组件监听到 mounted 钩子函数 ...');
    },
        
    //  Child.vue
    mounted(){
       console.log('子组件触发 mounted 钩子函数 ...');
    },    
        
    // 以上输出顺序为:
    // 子组件触发 mounted 钩子函数 ...
    // 父组件监听到 mounted 钩子函数 ...     
    

    当然 @hook 方法不仅仅是可以监听 mounted,其它的生命周期事件,例如:created,updated 等都可以监听

  • 相关阅读:
    msp430入门编程25
    msp430入门编程24
    msp430入门编程23
    msp430入门编程22
    msp430入门编程21
    msp430入门编程20
    msp430入门编程16
    msp430入门编程15
    msp430入门编程14
    msp430入门编程13
  • 原文地址:https://www.cnblogs.com/Leophen/p/13811427.html
Copyright © 2011-2022 走看看