Модульный объект формы диалога AngularJS в контроллере не определен

У нас есть страница, которая открывает модальное диалоговое окно с формой, как показано ниже. Однако, когда мы нажимаем на контроллер, который должен обрабатывать действие формы, объект формы не определен, и я слишком новичок в Angular, чтобы понять, почему ...

Это родительский контроллер страницы содержит функцию для открытия модального диалога:

app.controller('organisationStructureController', ['$scope', ..., '$modal', function ($scope, ..., $modal) {

    $scope.openInvitationDialog = function (targetOrganisationId) {
      $modal.open({
          templateUrl: 'send-invitation.html',
          controller: 'sendInvitationController',
          resolve: {$targetOrganisationId: function () {
            return targetOrganisationId;
          }
          }
        }
      );
    };

на такой странице:

// inside a loop over organisations
<a ng-click="openInvitationDialog({{organisation.id}})">Invite new member</a>

HTML-диалог приглашения выглядит так:

    
        
            
                
            
            
                

                    
                        Email
                        
                        <span class="error animated fadeIn" ng-show="invitationForm.email.$dirty && invitationForm.email.$error.required">Please enter an email address!</span>
                        <span class="error animated fadeIn" ng-show="invitationForm.email.$error.email">Invalid email</span>
                    

                    

                    
                        Cancel
                        Invite
                    
                
            
        
    

Контроллер, который должен обработать приглашение, находится где-то еще:

  app.controller('sendInvitationController', ['$targetOrganisationId', '$scope', ...,
    function ($targetOrganisationId, $scope, ...) {

    $scope.invitation = {
      // ...
      targetOrganisation: {
        id: $targetOrganisationId
      }
    };

    $scope.sendInvitation = function () {

      // $scope.invitationForm is undefined
      if ($scope.invitationForm.$invalid) {
        return false;
      }

      // send the invitation...

    };
  }]);

И что'правильный способ получить область формы в контроллер?

Может быть, мне нужно ввести$modal вsendInvitationController и добавитьsendInvitation функция к этому? Но когда я это делаю, действие никогда не попадает в контроллер. Или мне нужно добавить функцию, которая обрабатывает действие отправки$modal.open({ ... вместо ссылки на контроллер? Хотя я'Я бы предпочел иметь sendInvitationController в своем собственном файле и области видимости.

Спасибо за любую помощь!

РЕДАКТИРОВАТЬ

Мы нашли несколько вещей, которые помогли нам найти обходной путь и могли бы помочь кому-то ответить на этот вопрос:

$scope.invitation объект не является неопределенным вsendInvitationController но содержит правильные данные, в то время как$scope.invitationForm остается неопределенным.внутри send-приглашение.html мы можем получить доступ$scope.invitationForm.$invalid и сделайте проверку прямо здесь:Invite

Таким образом, вопрос заключается в следующем: почему связываниеinvitationForm возражать против$scope не удается отправить, пока модель формы связывается правильно?

Ответы на вопрос(5)

Ваш ответ на вопрос