繁体   English   中英

Angular.js命名间隔模块控制器

[英]Angular.js namespacing modules controllers

我的应用程序目录中具有以下结构:

scripts/
   modules/
     module1/
       controllers/
          MainController.js
     module2/
       controllers/
          MainController.js
   main.js

我要实现的是将每个模块中的控制器置于其自己的名称空间,例如:

module1.MainController
module2.MainController

因此,当我在html ng-controller="MainController"指令中使用它时,它将知道从哪个模块为其提供服务。 模块之间可以相互通信也很好。

请向我解释我如何才能以最佳方式实现这一目标,如果可能的话?


我发现了这样的东西: http : //jsfiddle.net/luisperezphd/j5jzsppv/,但是我不确定这是否是一个好的解决方案。 它使用angular.ng-modules.js


编辑:我正在尝试使用Angular.js v.1.3.6。 在1.2.x版本上,名称空间没有问题。

使用常规依赖项注入将一个模块注入另一个模块:

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

这允许moduleTwo知道otherModule 然后,您可以使用服务在控制器之间共享状态。 服务是单例(仅存在一个实例),因此,如果多个控制器使用同一服务,它们将共享该状态。

暂无
暂无

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

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