我的Angular应用程序有许多模态,我有AngularUI来提供模态指令.
http://angular-ui.github.io/bootstrap/
到目前为止,我有几个主控制器,这些都在app.js文件中作为路由.
$routeProvider.when '/dashboard',templateUrl: '/templates/dashboard/dashboard.html',controller: 'DashboardController' $routeProvider.when '/dataset/:panel_id',templateUrl: '/templates/dataset/dataset.html',controller: 'DatasetController' $routeProvider.when '/batches/:panel_id',templateUrl: '/templates/design/design.html',controller: 'PanelController'
这很好用.
然后我创建了一个调用模态的函数,模态有一个ConfigureModalCtrl的实例控制器.我最初在调用控制器文件的底部有这个,它工作正常.
$scope.invokeConfigureModal = (assay_id) -> $scope.assay_id = assay_id $scope.primer3 = $scope.getPrimer(assay_id) modalInstance = $modal.open( templateUrl: '/templates/configure_modal/configure_modal.html' controller: ConfigureModalCtrl windowClass: 'configure-dialog' resolve: primer3: -> $scope.primer3 ) modalInstance.result.then ((primer3) -> $scope.primer3 = primer3 return ),-> return
现在我已将模态实例控制器移动到它自己的文件中,但调用函数找不到它.
angular.module('assaypipelineApp').controller "ConfigureModalCtrl",($scope,$modalInstance,primer3) -> $scope.primer3 = primer3['data'] $scope.ok = -> $modalInstance.close $scope.primer3 return $scope.cancel = -> $modalInstance.dismiss "cancel" serverErrorHandler = -> alert("There was a server error,please reload the page and try again.")
错误信息
Error: Unknown provider: ConfigureModalCtrlProvider <- ConfigureModalCtrl
类似的问题,但不解决我的问题.
How to create separate AngularJS controller files?
那么我该如何解决这个问题,为什么其他(非模态实例)控制器不会出现这种情况呢?是因为它们在路线中被命名了吗?
有关编码风格的任何建议也欢迎…感谢阅读本文.
尝试将控制器作为字符串 – 我遇到了类似的问题.
controller: 'ConfigureModalCtrl'