我有一个使用ngRoute的角度应用程序,当我正常声明控制器时,它不能正常工作,因为隐式返回coffeescript,所以我使用了这个solution,但是这次我得到了这个错误:

Error: [ng:areq] Argument 'BarsController' is not a function, got undefined


myApp的简化版:

angule.module('app',['ngRoute'])
.config(($routeProvider)->
  $routeProvider.when('/bar',
    templateUrl:'bar/bars.html'
    controller:'BarsController'
    controllerAs:'bc'
  )
)
angular.module('app').controller('BarsController',['$scope','$resource',BarsCtrl])
class BarsCtrl
  constructor:($scope,$resource)->
    console.log "in controller"

最佳答案

在您提供的同一链接中,建议将控制器定义放在最后:

angule.module('app',['ngRoute'])
.config(($routeProvider)->
  $routeProvider.when('/bar',
    templateUrl:'bar/bars.html'
    controller:'BarsController'
    controllerAs:'bc'
  )
)

class BarsCtrl
  constructor:($scope,$resource)->
    console.log "in controller"

angular.module('app').controller('BarsController',['$scope','$resource',BarsCtrl])

09-27 13:57