父模块使用Child run()

时间:2014-02-28 16:45:15

标签: angularjs

我尝试声明一个main模块,以管理子模块组件。

当我在子模块中创建run()方法时,我父母使用它。

我只需要为我的子模块执行特定的修改。

这不是run()的可用案例吗?

angular.module('app', ['sub'])
    .run(function ($http) {
       console.log("run main");
    })
angular.module('sub',[]).
   .run(function ($http) {
       console.log("run sub");
   });

http://jsfiddle.net/HpD7y/

1 个答案:

答案 0 :(得分:0)

我最终改变了我的模块之间的依赖关系。

提供更多信息

我的main模块有全局工厂和一些指令。

我的子模块需要使用全局工厂,以及main中声明的其他行为。 我需要在“instanciate”时做一些检查:run()

问题

当我创建我的main模块时,他使用他的子模块的run()(同样适用于$httpProvider的配置)。

解决方案

我只是创建我的子模块,如兄弟,并为我的全球工厂创建一个特定的模块。

为例

angular.module('app', ['globalFactories'])
   .run(function(){
       console.log("app"); 
   });

angular.module('sub', ['globalFactories'])
   .run(function(){
       console.log("sub"); 
    });


angular.module('globalFactories', [])
    .factory('context', function ($http) {
        var url = '/api/context/';
        return {
            createContext: function(item){
                 return $http.post(url, item);
            }
        }
    });