Javascript 如何在需要ViewChild值的输入集中运行函数?

Javascript 如何在需要ViewChild值的输入集中运行函数?,javascript,angular,Javascript,Angular,如何在Input()set中的ngAfterViewInit之后调用函数 我有一个部门: 模板: 我想运行一些第三方函数,在这个div上执行一些逻辑。问题是,当set为invoke时,div为未定义的,并且只有在ngAfterViewInit初始化后才出现 @ViewChild('myDiv') myDiv; @Input set value(val) { this.run(val); // <--- first run } run(val) { console.log({ m

如何在
Input()
set
中的
ngAfterViewInit
之后调用函数

我有一个部门:

模板:

我想运行一些第三方函数,在这个
div
上执行一些逻辑。问题是,当set为invoke时,div
未定义的
,并且只有在ngAfterViewInit初始化后才出现

@ViewChild('myDiv') myDiv;

@Input set value(val) {
  this.run(val); // <--- first run
}

run(val) { 
 console.log({ myDiv: this.myDiv }); // <--- undefined 

 someLib({ // this is the function I can't change.
  div: this.myDiv.nativeElement
 });
}

ngAfterViewInit() {
 console.log({ myDiv: this.myDiv }); // <-- initialized
}
@ViewChild('myDiv')myDiv;
@输入设定值(val){

this.run(val);//您可以使用ngOnChanges(),因此,每当输入属性发生任何更改时,此生命周期方法将调用将设置值存储在某个局部变量中_set这类,并且在ngAfterViewInit()中初始化ui后,通过传递_setvariables调用run方法您可以使用ngOnChanges(),因此,每当输入属性发生任何更改时,此生命周期方法都将调用将设置值存储在某个局部变量\u set类型中,并且在ngAfterViewInit()中初始化ui后,通过传递\u set变量调用run方法