gpt4 book ai didi

javascript - Angular.js 命名空间模块 Controller

转载 作者:行者123 更新时间:2023-11-30 17:08:35 26 4
gpt4 key购买 nike

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

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

我想实现的是将每个模块中的 Controller 放到自己的命名空间中,例如:

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 版本上,命名空间没有问题。

最佳答案

使用常规依赖注入(inject)将一个模块注入(inject)另一个模块:

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

这允许 moduleTwo 了解 otherModule。然后您可以使用服务在 Controller 之间共享状态。服务是单例的(只有一个实例存在),所以如果多个 Controller 使用相同的服务,它们将共享该状态。

关于javascript - Angular.js 命名空间模块 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27485364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com