我正在尝试从控制器中打开模式。我希望模式具有它自己的控制器,该控制器已在$ uibModal.open中指定。
parentController.js
$uibModal.open({
templateUrl: 'modal.html',
controller: 'ModalController',
scope: $scope,
backdrop:'static',
keyboard: false,
size: 'md'
});
modalController.js
angular.module('fidoApp.import').controller('ModalController',['$scope', '$uibModalInstance',
function ($scope, $uibModalInstance) {
$scope.label = "from ModalController";
}]);
modal.html
<div>
{{label}}
</div>
app.js
var fidoApp = angular.module('fidoApp', [
'ngRoute',
'ui.bootstrap',
'ngResource',
'ngCookies',
'ngAnimate',
'checklist-model',
'restangular',
'fidoApp.import',
'fidoApp.login',
'fidoServices',
'taximportServices',
'utilServices',
'errorServices',
'financialInstitutionsFilter',
'authenticationService',
'userService'
]);
在浏览器中运行此错误消息:
Error: [ng:areq] Argument 'ModalController' is not a function, got undefined
我要去哪里错了?
最佳答案
正如Aleksey在评论中提到的那样,我的脚本顺序是错误的。 ModalController脚本标签位于ParentController脚本标签下方。因此,在ParentController中对ModalController的引用未定义。
我更改了脚本标记的顺序,并将ModalController脚本标记放在ParentController脚本标记之前,并且一切正常。