如何限制angular.module('myApp',['ngGrid','ui.bootstrap','kendo.directives']);?

时间:2017-02-13 07:39:28

标签: javascript html angularjs

我在

中有两个角度js文件

myjs1.js ,我已经

angular.module('myApp', [ 'ngGrid', 'ui.bootstrap', 'kendo.directives' ]);

myjs2.js 我还包括

angular.module('myApp', [ 'ngGrid', 'ui.bootstrap', 'kendo.directives' ]);

这些模块。在我的 html 页面上,我必须包含两个js文件

myhtml.html

<script src="../../js/myjs1.js"></script>
<script src="../../js/myjs2.js"></script> 

但问题是在两个js文件中我必须包含angular.module('myApp', [ 'ngGrid', 'ui.bootstrap', 'kendo.directives' ]); 由于 myhtml.html 导致错误,因为两个ngGrid模块都存在冲突。

当我删除angular.module('myApp', [ 'ngGrid', 'ui.bootstrap', 'kendo.directives' ]);从一个js我能够获得网格中的输出,因为没有模块的冲突。 但我无法从任何js文件中删除angular.module('myApp', [ 'ngGrid', 'ui.bootstrap', 'kendo.directives' ]);,因为其他html文件需要ngGrid模块。

我的问题是如何限制模块ngrid不包含在我的一个html文件中并被其他html文件使用。

我可以通过单独使用的<html ng-app="myApp">标记来控制这两个html文件吗?

1 个答案:

答案 0 :(得分:1)

创建具有不同名称的多个模块,并将它们作为依赖项添加到myApp模块。

例如:

<强> module1.js

angular.module('myModule1', [ 'ngGrid', 'ui.bootstrap', 'kendo.directives' ]);

<强> module2.js

angular.module('myModule2', [ 'ngGrid', 'ui.bootstrap', 'kendo.directives' ]);

<强> app.js

angular.module('myApp', [ 'myModule1', 'myModule2' ]);

然后在您的html文件中按以下顺序包含它们:

<script src="../../js/module1.js"></script>
<script src="../../js/module2.js"></script>
<script src="../../js/app.js"></script>