My 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?
那么我该如何解决这个问题,为什么其他(非模态实例)控制器不会出现这种情况呢?是因为它们是在路线中命名的吗?
欢迎任何有关编码风格的建议......感谢您阅读本文。
答案 0 :(得分:11)
尝试将控制器作为字符串 - 我遇到了类似的问题。
controller: 'ConfigureModalCtrl'