Javascript TypeError:(void 0)在关闭模式时不是函数
我正在使用Javascript TypeError:(void 0)在关闭模式时不是函数,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我正在使用AngularJS并将其与webpack捆绑在一起。为了处理我的状态,我正在使用ui路由器。我已经更改了应用程序的结构,因此状态作为模式加载。当我关闭状态(模式)时,它会不断出现错误消息: TypeError:(void 0)不是函数 我在网上搜索过,还有其他人,但似乎没有人能给出导致这种情况的确切答案。如果我将函数更改为console.log一条消息,它会,并且不会导致该错误。当我从模态状态转到任何其他状态时,导致问题的某些因素。我一直在关注这篇文章。我将提供代码、状态的结构和关闭模
AngularJS
并将其与webpack
捆绑在一起。为了处理我的状态,我正在使用ui路由器
。我已经更改了应用程序的结构,因此状态作为模式加载。当我关闭状态(模式)时,它会不断出现错误消息:
TypeError:(void 0)不是函数
我在网上搜索过,还有其他人,但似乎没有人能给出导致这种情况的确切答案。如果我将函数更改为console.log一条消息,它会,并且不会导致该错误。当我从模态状态转到任何其他状态时,导致问题的某些因素。我一直在关注这篇文章。我将提供代码、状态的结构和关闭模式的函数
$stateProvider
.state('portfolio', {
url: '/portfolio',
templateUrl: 'app/templates/portfolio/portfolio.tpl.htm',
controller: 'portfolioCtrl',
})
.state('portfolio.modal', {
abstract: true,
views: {
"modal": {
templateUrl: "app/templates/patent/modal.html"
}
},
onEnter: ["$state", function($state) {
$(document).on("click", ".modal-backdrop, .modal-holder", function() {
$state.go("portfolio");
});
}]
})
.state('portfolio.modal.patent', {
url: '/: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'
},
}
}
问题
为什么错误
TypeError:(void 0)在我关闭模式时不是一个函数
记录(在关闭时导航到不同的状态)?我最近遇到了同样的错误,答案是将ts.config中的模块属性从“system”更改为“amd”
希望这有帮助
另外,我本想把这当作一个评论,而不是一个完整的答案,但我没有足够的声誉 当您说您将函数更改为console.log消息时,您是否仍在使用jQuery单击处理程序(
$(文档)。在(“click”,[…])
)?是的,将$状态替换为console.log
。谢谢您的回复,我将给它一个重击。这困扰了我大约一个月