ng-модель не подключается к контроллеру $scope при вставке модальной формы из Django

Я передаю форму из Django в модал angular-ui-bootstrap, используя template имущество:

function openFinderModal() {
    var modalInstance = $modal.open({
        template: vm.modalTemplate,
    });

Соответствующая часть модального шаблона подается из вида формы:

<div class="modal-body" >
    <form ng-controller="ServiceFinderModalController">
        {% csrf_token %}
        {{ form }}
    </form>
</div>

Затем я использую Django-Angular для создания ng-model на каждом поле формы (см. документы), соответствующее моей простой форме ниже:

class ServiceSelectionForm(NgModelFormMixin, NgForm):
    service_0 = forms.BooleanField()

Тем не менее, когда я пытаюсь получить доступ к этому полю формы из $scope я получил undefined,

function ServiceFinderModalController($scope) {
    console.log($scope.service_0);
}

Я проверил источник страницы, и кажется, что он должен работать (см. Вторую последнюю строку):

<form ng-controller="ServiceFinderModalController" class="ng-pristine ng-valid ng-scope">

  <input type="hidden" name="csrfmiddlewaretoken" value="dkH6aiHyIqqkJlN5xAbiYaX0c37tXb9U">
  <ul class="djng-form-errors ng-hide" ng-show="U2VydmljZVNlbGVjdGlvbkZvcm0.$pristine">
    <li ng-show="U2VydmljZVNlbGVjdGlvbkZvcm0.$message" class="invalid ng-binding ng-hide" ng-bind="U2VydmljZVNlbGVjdGlvbkZvcm0.$message"></li>
  </ul>
  <ul class="djng-form-errors ng-hide" ng-show="U2VydmljZVNlbGVjdGlvbkZvcm0.$dirty"></ul>
  <label for="id_service_0">Test 2</label>
  <ul class="djng-field-errors ng-hide" ng-show="U2VydmljZVNlbGVjdGlvbkZvcm0.service_0.$pristine">
    <li ng-show="U2VydmljZVNlbGVjdGlvbkZvcm0.service_0.$message" class="invalid ng-binding ng-hide" ng-bind="U2VydmljZVNlbGVjdGlvbkZvcm0.service_0.$message"></li>
  </ul>
  <ul class="djng-field-errors ng-hide" ng-show="U2VydmljZVNlbGVjdGlvbkZvcm0.service_0.$dirty"></ul>
  <input id="id_service_0" name="service_0" ng-model="service_0" type="checkbox" class="ng-pristine ng-untouched ng-valid ng-empty">

</form>

Я пытался делать такие вещи, как $scope.$digest() но получить [$rootScope:inprog] ошибки.

ОБНОВИТЬ

$scope становится известно об этом поле, как только оно было переключено. Теперь мне просто нужно найти способ сделать это с самого начала...

0 ответов

Другие вопросы по тегам