Необходимо добавить слушателя к элементу в модале после того, как он рендерит - PullRequest
0 голосов
/ 12 октября 2018

У меня есть модальное окно, которое всплывает в ответ на нажатие кнопки.Модалу назначен контроллер, и в этом контроллере у меня есть список идентификаторов для элементов, которым нужно назначить слушателей, однако во время инициализации контроллера модал еще не рендерится, поэтому элементы, которым нужны слушатели, несуществует еще.Я пытаюсь понять, как назначить слушателя после того, как модал отобразился.

Вызов для создания модального вида выглядит следующим образом:

ModalDialogFactory.showDialog(dialogOptions);

Тогда внутри фабрики:

        showDialog: function (modalOptions) {
            var modalConfig = {};
            angular.extend(modalConfig, modalDialogDefaults, modalOptions);
            modalInstance = $modal.open(modalConfig);
            modalInstance.opened.then(function() {
                // In here, I think
            })
            return modalInstance.result;
        }

Есть ли способ взять этот модальный экземпляр и получить доступ к егоконтроллер работает после модальных дисплеев?

1 Ответ

0 голосов
/ 12 октября 2018

Вы можете использовать ng-init:

В модальном html:

<span ng-init="vm.initialize()"></span>
<input ng-model="vm.model" type="text">

В модальном контроллере:

vm.model = "new value";

function initialize() {
     $scope.$watch('vm.model', function(newVal, oldVal){
          console.log("value was changed to:"+newVal);
          vm.model.watch = newVal;
     });
}
...