1

ngAfterViewInitin之后如何调用函数Input() set

我有一个 div:

模板: <div #myDiv> </div>

我想运行一些对此做一些逻辑的第三方函数div。问题是当 set 被调用时divundefined只有在 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
}

我需要在值更改时调用该run函数。也许有类似nextTick的vue有?

4

0 回答 0