Nikita_Kudinov
@Nikita_Kudinov
Программирую свои программулины

Почему mounted не отрабатывает с первого раза?

Имеется компонент, в нём подгружаются повторяющиеся компоненты, в которые передаются данные в объекте. В методе mounted дочернего компонента изменяется объект (добавляется поле), потом по нажатии кнопки в дочернем компоненте объект записывается в глобальную переменную, но как я обнаружил записывается первоначальный объект, а после того как я изменю любую букву в дочернем компоненте, он пересоберётся и сразу mounted отработал и так каждый раз. Почему так?

UPD:
как я обнаружил если засунуть добавление поля в объект в setTimeout, то поле добавляется, но в консоли до метода добавления поля отображается что данные пришли.
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 1
groog
@groog
Я только учусь
Если я вас правильно понял, то вы в дочернем элементе изменяете (добавляете поле) объект пришедший от родителя. Так делать плохо, так как js передаются ссылки и у всех участвующих один и тот же объект.
Так же добавляя свойство в уже созданный объект напрямую, у вас не устанавливается реактивность. Правильно поля добавлять через Vue.set.
Но еще раз повторюсь, тут явно архитектурная проблема. Прикрепляйте код, посмотрим
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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