javascript - Angular JS - 文件夹结构问题 -controllers.js

标签 javascript angularjs

我的文件夹结构如图所示。

我有 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>

文件夹结构

enter image description here

更新:

这是 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/

相关文章:

javascript - 如何设置图形标签的点击监听器?

javascript - 使用 ui-select-match 选择多个条目

html - 超出范围时,带有数字的 AngularJS 输入未定义

javascript - 页面上有多个相同的 'angular app' 副本

javascript - ng 值不起作用

javascript - 使用复选框构建表并使用 Knockout.js 绑定(bind)到数据

javascript - 如何带参数请求静态资源?

javascript - 在 Chrome 开发工具中使用词法作用域(闭包)调试 angularjs 指令时出现奇怪的行为

angularjs - Angular-phonecat 入门(Bower 安装)失败

javascript - JS SDK facebook API 通行证