让我们说我使用Angular UI和只有一个指令的第三方库。即使一个显然比另一个大得多,它们在angular.module的依赖部分下是否都得到相同的计费?或者我可以简单地将较小的依赖项注入我需要使用它的控制器中吗?
exampleapp.js
angular.module('myApp', [
'angular-ui',
'thirdpartylib'
]);
仅在需要时注入库的最佳做法是什么?
答案 0 :(得分:0)
我将我的应用程序分成不同的模块:
angular.module("App.controllers", []);
angular.module("App.services", ["ngResource"]);
angular.module("App.directives", []);
angular.module("App.filters", []);
angular.module("App.constants", []);
angular.module("App", [
"ngRoute",
"App.services",
"App.directives",
"App.filters",
"App.controllers",
"App.constants"
]);
由于ngResource
仅用于App.services
模块,因此无需在整个应用程序中插入它。
当我需要创建一个控制器时,我只是这样做:
angular.module("App.controllers").controller("NewController",["$scope", function($scope){
}]);
为了简单起见,我会在应用程序中添加模块"子模块"(当您第一次创建模块时,就像我在App.services
中那样),这样您就可以保持代码清洁。如果您不能使用该模块,则无需在其他地方注入该模块。
答案 1 :(得分:0)
如果您正在使用延迟加载,则必须在脚本加载到页面时注入到控制器,指令,服务等。否则,在应用程序定义中注入没有任何不便。它在调用时不会运行。