У меня есть несколько блоков
<div v-if="stage == 0">
...
</div>
<div v-else-if="stage == 1">
<div class="elem"></div>
...
</div>
// при каком-то событии делаю:
this.stage = 1;
let elem = document.querySelector('.elem');
Проблема в том, что в таком случае я получаю вместо elem значение null, ибо элемента еще нет в DOM дереве. Если я инициализирую его через 100ms (с помощью setTimeout), то все прекрасно работает.
Я понимаю, что setTimeout это жуткий костыль, хотелось бы отлавливать какой-нибудь встроенный во Vue.js эвент загрузки дерева. Как это можно сделать?