直到最近,我一直把我的所有功能都扔进一个大的JS文件中。我现在正试图将这些模块分解为小模块,以使我的应用程序更具可移植性。
我的核心js文件(main.js)包含以下代码:
var App = angular.module("app", ['ui.bootstrap', 'angularMoment', 'chieffancypants.loadingBar', 'ngAnimate', 'ui.sortable', 'ngSanitize'], function ($interpolateProvider, $httpProvider) {
$interpolateProvider.startSymbol('[[');
$interpolateProvider.endSymbol(']]');
$httpProvider.defaults.transformRequest = function (data) {
if (data === undefined) {
return data;
}
return $.param(data);
};
$httpProvider.defaults.headers.post['Content-Type'] = ''
+ 'application/x-www-form-urlencoded; charset=UTF-8';
$httpProvider.defaults.headers.post['X-Requested-With'] = ''
+ 'XMLHttpRequest';
});
在另一个文件(即blog.module.js)中,我有以下内容:
(function(window, angular, undefined) {
'use strict';
angular.module("app", [])
.controller('Blog', ['$scope', function ($scope) {
alert('test');
}]);
});
当main.js文件及其所有依赖项加载时,第二个文件不会被加载。基本上找不到控制器。任何人都可以指出我可能出错的地方。?
由于
答案 0 :(得分:0)
blog.module.js中的语法看起来像是在尝试创建两个名称相同的模块' app'。 像这样更改控制器模块
(function(window, angular, undefined) {
'use strict';
angular.module("app")
.controller('Blog', ['$scope', function ($scope) {
alert('test');
}]);
});
答案 1 :(得分:0)
我引用你:
App = angular.module("app", ['ui.bootstrap',
...
angular.module("app", [])
您 cant 重新声明您可以重新打开的模块
App = angular.module("app", ['ui.bootstrap',
...
angular.module("app")
或创建另一个
App = angular.module("app", ['ui.bootstrap', 'app.controller'
...
angular.module("app.controller")