IE: Angular Controller As теряет область видимости при ошибке в другой библиотеке JavaScript

Я использую синтаксис ControllerAs в AngularJs. Проблема, с которой я сталкиваюсь, заключается в том, что библиотека jQuery выдает ошибку, когда другая библиотека javascript вызывает jQuery, который выполняется параллельно, и это приводит к тому, что мои ControllerAs перестают работать. Пожалуйста, найдите мой код ниже

Код работает правильно в Chrome, но не в IE.

IE выдает ошибку

SCRIPT5022: InvalidCharacterError

Ошибка, выданная Chrome,

Uncaught DOMException: не удалось выполнить 'setAttribute' для 'Element': 'aria-extended ' не является допустимым именем атрибута

Я знаю, что проблема состоит в том, чтобы удалить лишние пробелы в aria-extended, но у меня нет привилегий изменять эту библиотеку javascript.

var stApp = angular.module("AngularApp",["ngRoute","ngSanitize","ui.bootstrap"]);
    stApp.config(function($routeProvider) {
        $routeProvider
        .when("/", {
            templateUrl : "https://somedomain.com/sites/somesite/Assets/js/Application/sessions.html", controller:"appcontroller"
        })
        .when("/create", {
            templateUrl : "https://somedomain.com/sites/somesite/Assets/js/Application/createnew.html", controller:"appcontroller"
        })
        .when("/editimage/id/:spot_event_id", {
            templateUrl : "https://somedomain.com/sites/somesite/Assets/js/Application/editimage.html", controller:"appcontroller", controllerAs: 'stc'
        }) 
        .otherwise({ redirectTo: '/' })   
    });

    stApp.controller('appcontroller', appcontroller);

    function appcontroller($scope,$routeParams,$window,$timeout,$location,$uibModal,fileReader,SessionInfo){


        var modal = this;
        vm.ShowLoading = true;
        /** Other Variables required are declared below which cannot be shown**/

        SessionInfo.GetEventsInfoAsync($scope); // This functions performs a async call and the function utilizes $broadcast to trigger $scope.$on('asyncEventInfoResult')


        $scope.$on('asyncEventInfoResult', function (event, data) {         
            $scope.$apply(function () {         
                data.Events.forEach(function(item,index){
                    var organizers = [];
                    item.Organizer.forEach(function(user,index){
                        organizers.push(user.get_lookupValue());
                    });
                    item.Organizers = organizers;
                    var sessionTime = new Date(item.StartTime);
                    var today = new Date();
                    if(sessionTime>today)
                    {
                        vm.Events.UpcomingEvents.push(item);
                    }           
                    else
                    {
                        vm.Events.PastEvents.push(item);
                    }
                });
                vm.ShowLoading = false;                     
            });
        });
    }

0 ответов

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