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;
});
});
}