Задать вопрос
@KoRNeT46RuS

Почему при выполнении теста меняется значение в дочерней области видимости, а не в текущей?

Есть обработчик события

let orthography = $scope.appCTRL.orthography;
                        let url = attributes[DIRECTIVE];

                        element.on('keydown', (_event) => {
                            if (_event.keyCode == 13 && _event.ctrlKey) {
                                orthography.isOpen = true;
                                orthography.text = window.getSelection().toString().trim();
                                if (window.getSelection().focusNode) {
                                    orthography.fragment = window.getSelection().focusNode.data;
                                }
                            }
                        });


И тест
document.body.innerHTML =
            '<div data-ng-controller="appController" data-app-orthography="'+ urlOrthography +'" id="js-karma-test">' +
                '<form class="modal-cross">' +
                    '<div class="modal-spelling__close" data-ng-click="appCTRL.orthography.isOpen = false">' +
                        '<i class="fa fa-times"></i>' +
                    '</div>' +
                    '<input type="text" value="бла бла бла" disabled="disabled">' +
                    '<textarea rows="10" cols="45" placeholder="Ваш комментарий" data-ng-model="appCTRL.orthography.comment">коммент</textarea>' +
                    '<input type="submit" value="Отправить" data-ng-click="appCTRL.orthography.onSubmit = true;">' +
                '</form>' +
            '</div>';
        reCompileElementService.replace(angular.element(document.querySelectorAll('#js-karma-test')), scope);
        scope.$digest();

        angular.element(document.querySelector('#js-karma-test')).trigger({type: 'keydown', keyCode: 13, ctrlKey: true});

Так вот... Почему значение isOpen меняется в scope.$$childHead.orthography.isOpen, а не в scope.orthography.isOpen ?
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@lega
Значит какая-то директива/контроллер, либо несколько, создает дочерний scope и перетирается orthography.
откуда появился appCTRL, если data-ng-controller="appController" ? возможно кусок кода некоректный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы