角度模块依赖性 - 澄清?

时间:2015-12-29 07:57:43

标签: angularjs

我有一个申报表,我声明为:

var app = angular.module('mg.app', ['mg.auth' , 'ui.router'  ,'mg.calc'  ]);

mg.authmg.calc是我作为依赖项注入的模块(我的模块)。

mg.auth的代码

angular.module('mg.auth', ['ui.router']);
angular.module('mg.auth').config(function ($stateProvider)
    {
        $stateProvider.state('signin', {
          ...
        });
    });

mg.calc的代码

angular.module('mg.calc', ['ui.router','ui.bootstrap']); 
angular.module('mg.calc').config(function ($stateProvider)
        {
            $stateProvider.state('calc', {
             ...
            });
        }

在HTML中我有:

 <a href ui-sref="calc">

当我点击该链接时,它会将状态更改为calc,我确实看到了所需的结果。

那么问题在哪里?

查看我的模块(ng.app),如果我删除 mg.calc作为依赖,则会出现错误:

enter image description here

但我不明白为什么我需要&#39; mg.calc&#39;作为mg.app的依赖?

我的意思是,当JS引擎看到mg.calc的代码时:

    angular.module('mg.calc', ['ui.router','ui.bootstrap']); 
    angular.module('mg.calc').config(function ($stateProvider)
            {
                $stateProvider.state('calc', {
                 ...
                });
            }

它知道有一个新的calc状态,应该可以转换为calc。

问题

功能,为什么mg.app必须将mg.calc设置为依赖?

不是我在[{1}}

中使用mg.calc中的一些代码

1 个答案:

答案 0 :(得分:1)

这是因为你的角度应用程序是用mg.app模块引导的,而不是mg.calc模块,这就是为什么你需要告诉angular你需要mg.calc的原因。