Как запустить функцию во входном наборе, который должен иметь значение ViewChild? - PullRequest
1 голос
/ 14 июля 2020

Как вызвать функцию после ngAfterViewInit в Input() set?

У меня есть шаблон div:

: <div #myDiv> </div>

и я хочу для запуска какой-то сторонней функции, которая выполняет лог c на этом div. проблема в том, что когда вызывается set, div is undefined и только в 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 есть?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...