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 等都可以监听

  • 相关阅读:
    进程与线程的区别
    开启线程的两种方式
    线程
    生产者消费者模型(重要)
    队列
    互斥锁
    守护进程(了解)
    Process对象的其它方法与属性(join)
    僵尸进程与孤儿进程
    Servlet
  • 原文地址:https://www.cnblogs.com/Leophen/p/13811427.html
Copyright © 2011-2022 走看看