繁体   English   中英

无法在Angular中加载多个模块或控制器

[英]Loading multiple modules or controllers in Angular is not working

我需要“导入”或“使用”模态服务,并且我当前有效的代码如下所示

angular
    .module("deviceManagement")
    .controller("DeviceDetailCtrl",
    ["$scope",
        "$http",
        "$stateParams",
        "deviceService",
        DeviceDetailCtrl]);

所以我知道有一个文件angularModalService.js,其中包含

var module = angular.module('angularModalService', []);
module.factory('ModalService', ...................

考虑到这些事情,我想将“ ModalService”“注入”到当前代码中,但是会显示“ undefined”等。

在我上面的当前代码之上,我正在尝试这两种方法来设置另一个模块,但是我不确定是否应该设置一个模块或一个控制器,或者两者都设置。

  var app2 = angular.module('app2', ['angularModalService']);

要么 ..

angular
    .module("app2", ['angularModalService'])
    // .controller ??? 

杰里米,有一些事情要注意。

  1. 如果要使用另一个模块作为模块的依赖项。 您需要将其注入模块中。 就您而言,您的代码将是。

angular.module('app2', ['angularModalService']);

请注意,它等同于

var application2 = angular.module('app2', ['angularModalService']);

不同之处在于您将来可以通过两种方式配置模块。

angular.module('app2').config(...)
application2.config(...)
  1. 而且,如果您想在app2中使用出厂的ModalService,只需将其注入到控制器中即可。

angular.module('app2').controller('SomeController', ['ModalService', function(ModalService) { //TODO }]);

似乎您仍然对角度模块感到困惑。 请阅读这篇文章

var myModule = angular.module('myModule', []);

// add some directives and services
myModule.service('myService', ...);
myModule.directive('myDirective', ...);

// overwrites both myService and myDirective by creating a new module
var myModule = angular.module('myModule', []);

// throws an error because myOtherModule has yet to be defined
var myModule = angular.module('myOtherModule');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM