@savenko
Php программист

VueJs 2 запрос Ajax. Как сделать так, чтобы компоненты монтировались после того как загрузятся данные?

Здравствуйте!
В проекте есть роутер, 1 главный компонент и 2 дочерних. Задача. Сделать так, что бы данные в дочерних компонентах появлялись сразу после того как данные появятся в родительском компоненте.
<router-view :results="results"></router-view>

Проблема вызвана тем, что в дочерних используется jQuery плагин datatable и в него нужно подставить то что пришло от сервера. Есть вариант инициализировать пустую таблицу, а потом благадаря реактивности как то установить данные в эту таблицу. Но как это сделать? Каким событием воспользоваться?
  • Вопрос задан
  • 1116 просмотров
Пригласить эксперта
Ответы на вопрос 3
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
А зачем вообще использовать jq? У вас проблема сделать сортировку и поиск на vue?
Вот тут можно посмотреть подходящие примеры
А про роутинг и данный вот тут
Ответ написан
@kirill-93
После того как данные появятся в родительском компоненте, может эмитировать событие через $emit и отслеживать это в дочернем элементе с помощью $on.
А вообще для реактивности данных между компонентами используют vuex. Это хранилище информации, которое даёт реактивность.
Ответ написан
boratsagdiev
@boratsagdiev
Передайте данные в дочерний компонент через props и повесьте на таблицу v-if какой-нибудь (типа банального props.length > 0), чтобы она показалась когда данные уже появятся.

Данные в таблице выводите через v-for="props", когда данные придут с сервера в родителя и оттуда в дочерний компонент, все автоматически обновится и заполнится.

Написал бы подробнее с примером, но с телефона не выйдет :(
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы