У меня есть директива пользовательского редактора, которая отображает пользовательский интерфейс для редактирования $scope.User. Когда $scope.User имеет значение null, редактор находится в режиме «Создать», что означает, что новый пользователь будет создан после отправки данных.
Кроме того, директива выполнит некоторый расчет макета. Проблема в том, что перед показом редактора расчет макета неверен. Например, в Firefox, когда элемент невидим, высота всегда равна 0. Другими словами, когда директива скомпилирована и связана, расположение элементов неверно.
Мой вопрос: как заставить директиву обновляться, когда она становится видимой?
Я пробовал следующие способы:
Изменение $scope.User Директива следит за $scope.User. Его изменение может дать директиве возможность обновиться. Но это не очень хорошая идея, при создании нового пользователя он должен быть нулевым.
Добавление новой «видимой» переменной в $scope и наблюдение за ней Проблема в том, что родительский элемент директивы (и родитель родителя) также может стать видимым и невидимым. Есть ли способ получить уведомление?
Любая хорошая идея?