How can I call function from directive after component's rendering?

后端 未结 2 1907
闹比i
闹比i 2021-01-19 05:25

How can I call function from directive after component\'s rendering?

I have component:

export class Component {
  ngAfterContentInit() {
  // How c         


        
2条回答
  •  梦毁少年i
    2021-01-19 06:22

    You can retrieve Directive from Component's template with ViewChild like this:

    @Directive({
      ...,
      selector: '[directive]',
    })
    export class DirectiveClass {
      method() {}
    }
    

    In your component:

    import { Component, ViewChild } from '@angular/core'
    import { DirectiveClass } from './path-to-directive'
    
    @Component({
      ...,
      template: ''
    })
    export class ComponentClass {
      @ViewChild(DirectiveClass) directive = null
    
      ngAfterContentInit() {
        // How can i call functionFromDirective()?
        this.directive.method()
      }
    }
    

提交回复
热议问题