我正试图通过这样的viewchild获取指令,从而从组件调用位于我的指令中的公共函数

 @ViewChild('myDirective') myDirective;
 ....
 myDirective.nativeElement.myFunction();

但我得到的错误是myFunction不存在。
有没有方法调用指令中的函数?

最佳答案

DEMO - How to call Directive's function from Component > AA>
1)希望您正在导入我的指令。

import {myDirective} from './Directive';

2)
@ViewChild(myDirective) vc:myDirective;   ///<<<@@@removed '' from ('myDirective')

3)
ngAfterViewInit(){
    this.vc.myFunction();                 ///<<@@@ no need to use nativeElement
}

4)或某个按钮的点击事件
click(){
   this.vc.myFunction();
}

10-06 15:12