我正在尝试将控制器拆分为多个文件,但是当我尝试在模块中注册它们时出现错误:
组控制器咖啡
app = angular.module('WebChat', []); app.controller 'GroupController', ($scope) ->
usercontroller.coffee
app = angular.module('WebChat', []); app.controller 'UserController', ($scope) ->
错误
错误:参数’GroupController’不是函数,未定义
从文档中,我并没有真正获得模块方法的功能。它是否用密钥“ Webchat”存储我的控制器?
编辑: 似乎[]传递也会创建一个新模块并覆盖前一个模块
app = angular.module('WebChat', []);
为避免这种情况,您必须忽略[]
app = angular.module('WebChat');
检查代码中引用“ GroupController”的其他位置(可能在您的路由中)。您有可能将其作为变量存在,但是当您在模块内声明控制器时,必须将其引号引起来。例如:
MyCtrl1() = -> () ... $routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: MyCtrl1})
由于MyCtrl1是变量,因此可以正常工作。但是,当您在模块中声明控制器时:
app = angular.module('WebChat', []); app.controller 'GroupController', ($scope) -> # ... $routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: 'GroupController'})
“ GroupController”需要在路径中加上引号。