我的文件夹结构如图所示。
我有 2 个 Controller ,位于 2 个不同的文件夹中。如果我将第二个 Controller 包含在 index.html 中,则它们似乎会发生冲突,并且第一个 Controller 页面无法工作,如下所示。只有当我删除第二个 Controller 时,第一个 Controller 才能工作。
index.html
<script src="1_reportingEntities/controller.js"></script>
<script src="2_dataCollections/controller.js"></script>
文件夹结构
更新:
这是 2 个 Controller ,它们在不同的文件夹中具有相同的文件名。
controller.js
'use strict';
var mdmApp = angular.module('mdmApp', ['ngRoute', 'ngResource', 'ngMessages', 'ui.grid', 'ui.grid.pagination',
'ui.grid.moveColumns', 'ui.grid.resizeColumns', 'ui.grid.selection', 'ui.grid.autoResize',
'ui.grid.cellNav', 'ui.grid.exporter', '720kb.datepicker','angularjs-dropdown-multiselect']);
mdmApp.config(function($routeProvider) {
$routeProvider.when('/', {
templateUrl : '1_reportingEntities/listEntities.html',
controller : "listController"
})
.when('/list', {
templateUrl : '1_reportingEntities/listEntities.html',
controller : "listController"
})
controller.js
'use strict';
var mdmApp = angular.module('mdmApp', ['ngRoute', 'ngResource', 'ngMessages', 'ui.grid', 'ui.grid.pagination',
'ui.grid.moveColumns', 'ui.grid.resizeColumns', 'ui.grid.selection', 'ui.grid.autoResize',
'ui.grid.cellNav', 'ui.grid.exporter', '720kb.datepicker','angularjs-dropdown-multiselect']);
mdmApp.config(function($routeProvider) {
$routeProvider.when('/dataCollection', {
templateUrl : '2_dataCollections/dataCollection.html',
controller : "dataCollectionController"
})
.when('/reportTypeEntityList/:id', {
templateUrl : '2_dataCollections/reportTypeEntityList.html',
controller : 'reportListController',
resolve : {
formType : function() {
return 'REPORTTYPEENTITYLIST';
}
}
})
最佳答案
你的问题是你声明了同一个模块两次。
当您注册模块时,您会添加依赖项的第二个参数。
然后,要引用同一模块,您可以省略依赖项,而仅使用名称。
创建模块(setter):
angular.module('myApp', []);
引用模块(getter):
angular.module('myApp').controller('...;
当您再次添加相同的模块声明时,您基本上会清除第一个模块(和 Controller )
关于javascript - Angular JS - 文件夹结构问题 -controllers.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34814894/