没有找到AngularJS express咖啡资产控制器

时间:2012-08-06 14:33:21

标签: node.js coffeescript express angularjs

在基于appangular-express-blog的AngularJS node.js express-coffee中,我在控制器pic之前遇到了问题angular.module的问题:

Uncaught ReferenceError: IndexCtrl is not defined

包含与angular-seed相同的模块的顺序:

// JS
!= js('lib/jquery-1.7.2.min.js')
!= js('lib/bootstrap.min.js')
!= js('lib/angular.min.js')

!= js('app')
!= js('controllers')
!= js('directives')
!= js('filters')
!= js('services')

更改订单后:

!= js('controllers')
!= js('app')
!= js('directives')
!= js('filters')
!= js('services')

错误相同。只有当我在angular.module("myApp"...防御之前将控制器替换为app.coffee时,它才有效。我当然重新启动了服务器。

更新:app filecontroller filelayout

1 个答案:

答案 0 :(得分:4)

在Coffeescript中,编译的东西包含在一个闭包中:

//controllers.js:
(function() { function MyController($scope) {} })();

现在index.html找不到MyController变量,因为它在闭包中!

请改用module.controller语法。

angular.module('myApp').controller 'MyController', ($scope) ->

这将使您的控制器随处可见。