Итак, во время кросс-браузерного тестирования я столкнулся с ошибкой в Edge, когда пытался получить доступ к дочернему состоянию через uirouter
, используя state.go
, и, похоже, ответа не было. Я добавил console.log, чтобы проверить функцию, чтобы убедиться, что она вызывается и работает. Функция работает нормально во всех других браузерах. Затем я протестировал его в IE 11, и оно даже не загружало приложение, и оставил сообщение об ошибке, в котором говорится, что не удалось создать экземпляр, так как не удалось найти модуль ui.router
, но все остальные модули связаны и вставляются без проблем. Я очень смущен. Я использую веб-пакет для связывания своего кода.
vendor. js
require("@uirouter/angularjs/release/angular-ui-router.min.js");
app.module. js
angular.module('ppApp', ['ui.router'])
app.routes. js
.state('portfolio', {
url: '/portfolio',
templateUrl: 'app/templates/portfolio/portfolio.tpl.htm',
controller: 'portfolioCtrl',
controllerAs: '$ctrl'
})
.state('portfolio.modal', {
abstract: true,
views: {
"modal": {
templateUrl: "app/templates/patent/modal.html"
}
}
})
.state('portfolio.modal.patent', {
url: '/:patentId',
resolve: {
patent: ['$stateParams', 'patentsRestService, function($stateParams, patentsRestService) {
return patentsRestService.fetchPatentItem($stateParams.patentId)
.then(
function(response){
return patentsRestService.fetchPatentItem($stateParams.patentId);
}
)
}],
},
views: {
"": {
templateUrl: 'app/templates/patent/case-overview.tpl.htm',
controller: 'caseOverviewCtrl',
controllerAs: '$ctrl',
},
"details@portfolio.modal.patent": {
templateUrl: 'app/templates/patent/patent-details.tpl.htm',
controller: 'patentDetailsCtrl',
controllerAs: '$ctrl'
}
}
Вопрос
Почему сбой IE 11 финансировать UI-маршрутизатор, и Edge не может загрузить дочерние состояния, когда все остальные браузеры работают нормально?