我试图把我的控制器分成多个文件,但当我试图注册他们在我的模块我得到一个错误:
groupcontroller.coffee
app = angular.module('WebChat',[]); app.controller 'GroupController',($scope) ->
usercontroller.coffee
app = angular.module('WebChat',[]); app.controller 'UserController',($scope) ->
错误:参数’GroupController’不是一个函数,未定义
从文档我真的不知道模块方法做什么。它用钥匙’Webchat’存储我的控制器吗?
编辑:
看来pass []会创建一个新的模块并覆盖前面的模块
app = angular.module('WebChat',[]);
为了防止这种情况,你必须离开[]喜欢
app = angular.module('WebChat');
检查代码中引用“GroupController”的其他地方(可能在您的路由中)。有机会你有它作为一个变量,但是当你声明一个模块中的控制器,你必须包装它的引号。例如:
MyCtrl1() = -> () ... $routeProvider.when('/view1',{templateUrl: 'partials/partial1.html',controller: MyCtrl1})
工作正常,因为MyCtrl1是一个变量。但是当你在模块中声明控制器时:
app = angular.module('WebChat',($scope) -> # ... $routeProvider.when('/view1',controller: 'GroupController'})
‘GroupController’需要在路由中引号。