我正在使用最新版本的Require和Angular,但我遇到了奇怪的错误。我有每个视图的控制器,但显然只适用于一个视图。这是我的示例代码:
定义所有控制器:Controllers.js
define([
'modules/index/controller',
'modules/test/controller'
], function(){});
这里只适用于一个控制器,如果我像这里一样包含2我得到错误:ng:areq 坏论据
索引:controller.js
define(['angular'], function(angular){
'use strict';
return angular.module('myApp.controllers', [])
.controller('indexCtrl', ['$scope' , function ($scope){
alert("index ok");
}]);
});
测试:controller.js
define(['angular'], function(angular){
'use strict';
return angular.module('myApp.controllers', [])
.controller('testCtrl', ['$scope' , function ($scope){
alert("test ok");
}])
});
我哪里错了?
答案 0 :(得分:3)
问题是您正在创建myApp.controllers
模块两次,一个正在覆盖另一个。假设您在加载控制器后手动引导角度,您应该首先创建模块,然后加载该模块以创建控制器:
<强> app.js 强>
define(['angular'], function(){
'use strict';
return angular.module('myApp.controllers', []);
});
索引:controller.js
define(['app'], function(app){
'use strict';
return app.controller('indexCtrl', ['$scope' , function ($scope){
alert("index ok");
}]);
});
测试:controller.js
define(['app'], function(app){
'use strict';
return app.controller('testCtrl', ['$scope' , function ($scope){
alert("test ok");
}])
});
我创建angularAMD
以方便您使用可能感兴趣的RequreJS和AngularJS: