Представление UI-маршрутизатора не обновляется при повторном посещении состояния - PullRequest
0 голосов
/ 06 сентября 2018

В моем приложении AngularJS я создал простую установку в стиле мастера со статическим состоянием для всей страницы мастера и динамическими состояниями для всех отдельных подстраниц мастера. Используя простой список, я могу переключаться между подстраницами мастера, но обнаруживаю, что повторное посещение подстраницы не обновляет представление должным образом.

Я использую @ui-router/angularjs (1.0.20) и @ui-router/core (5.0.21) вместе с AngularJS (1.5).

Чтобы передать данные компонентам для каждой подстраницы мастера, я добавляю дополнительные атрибуты к <div ui-view></div>, и у каждого компонента есть привязки для необходимых ему атрибутов. Это работает, поскольку я вижу, что компонент $onChanges хук вызывается для каждого посещения. Компонент также загружает шаблон HTML, но не обновляется должным образом при повторном посещении. Статический текст и начальные значения отображаются, но обновленные данные не отображаются.

Так как я могу принудительно обновить страницу? Я пытался использовать

$state.go(state, params, { reload: true, inherit: true, notify: true });

, чтобы войти в состояние, но это не похоже на работу.

1 Ответ

0 голосов
/ 06 сентября 2018

После еще одной проверки я обнаружил, что добавление $timeout вокруг функции для заполнения данных формы в компоненте $onChanges решает проблему.

...