Как правильно получать параметры и реагировать на их изменения?

День добрый!
Имеется примерно такая структура (упрощенная)

в child:
watch: {
userid(value) { ... },
},
mounted() { ... }

при инициализации parent стучится на сервер, получает данные пользователя и сохраняет в user, вотчер child'а видит изменения и корректно отрабатывает. Все ок.

перехожу на другой роут, затем жму назад и... все плохо
вотчер child не выполняется, т.к. user уже имеется и ничего не меняется.
можно ли при инициализации child как-либо вызвать вотчер?
разумеется можно внести весь вотчер в отдельный метод и вызывать уже его, но выглядит как-то не совсем правильно

Как правильно получать параметры и реагировать на их изменения?
  • Вопрос задан
  • 276 просмотров
Решения вопроса 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Т.е. у вас компонент, когда назад переходишь по новой не маунтиться уже?
Если mounted все-таки вызывается, то установив по дефолту userid в null например, вотчер в итоге должен вызваться имхо.
Еще дока говорит, что можно так делать:
watch: {
    // строка с именем метода:
    b: 'someMethod'
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@JSmitty
По возможности старайтесь не использовать вотчеры совсем. Для обновления интерфейса в дочернем компоненте можно в подавляющем большинстве случаев использовать computed properties, вычисляемые из передаваемых снаружи props. Или рассмотрите хотя бы частичную интеграцию vuex для связи компонентов в иерархии.
Ответ написан
Ваш ответ на вопрос

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

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