Задать вопрос
@danilr

Как подписаться на появление блока во Vue/ чистом js?

Есть метод, который при нажатии на кнопку меняет контент. И есть другой метод, который вызывается в первом методе и взаимодействует с блоком с определённым id. Проблема в том, что блоки почему-то не успевают отрисоваться, поэтому скрипт не находит нужный div и возникает ошибка.
Вопрос в том, как подписаться на отрисовку нужного дива во Vue и чистом js?
  • Вопрос задан
  • 243 просмотра
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
https://developer.mozilla.org/ru/docs/Web/API/Muta...
Или, если есть возможность, внутри компонента вызывать событие
https://developer.mozilla.org/en-US/docs/Web/API/C...
Ответ написан
Комментировать
@ATLANT1S
Back-end developer
Не совсем понятна ваша проблема. В Vue есть слежение - watch. Вы можете следить за изменением чего угодно и когда это произойдёт - выполнить какие-то действия.

<div id="app">
  {{message}}
  <button @click="changeText">Изменить текст</button>

  <div v-if="changed">Текст изменился</div>
</div>


new Vue({
  el: "#app",
  data: {
    message: 'Hello world',
    changed: false
  },
  watch: {
    message: function() {
    	 this.changed = true;
    }
  },
  methods: {
    changeText: function(){
    	this.message = "Привет мир";
    }
  }
})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы