AngularJS中是否提供自动依赖注入?
发布时间:2020-12-17 17:14:07 所属栏目:安全 来源:网络整理
导读:我想自动依赖注入一个Angular内置服务到Angular模块/ app中的所有服务. 我要注入的服务是… $exceptionHandler 我不希望$exceptionHandler成为全局…例如我不想做 … window.$exceptionHandler = $exceptionHandler 但我也不希望依赖注入$exceptionHandler手
我想自动依赖注入一个Angular内置服务到Angular模块/ app中的所有服务.
我要注入的服务是… $exceptionHandler 我不希望$exceptionHandler成为全局…例如我不想做 … window.$exceptionHandler = $exceptionHandler 但我也不希望依赖注入$exceptionHandler手动使用… angular.module('myApp').factory('myService',['$exceptionHandler',function ($exceptionHandler) { 是否可以自动将Angular内置服务注入Angular模块/应用程序中的所有服务? 非常感谢 解决方法
通过嵌套模块可以使它更方便.在根(或全局)模块中,注入$exceptionHandler以及您创建或想要使用的所有其他模块.根模块的所有子模块都会有$exceptionHandler注入而不会更加轻松.但是,您仍然必须在控制器和工厂函数定义中命名$exceptionHandler,因此不可能完全摆脱注入伪影.
例: app.js angular.module('app',['ionic','$exceptionHandler','ngCordova','app.home','app.impressum']) .run(function ($ionicPlatform,$state) { .. }) .config(function ($stateProvider,$urlRouterProvider,$provide,$exceptionHandler,$ionicConfigProvider,$compileProvider) { $stateProvider .state('app',{ ... }) } ); 现在app.home-Module: home.js angular.module('app.home',['app.home.controller','app.home.factory']); 家用/ controller.js angular.module('app.home.controller',[]) .controller('homeController',function ($scope,$exceptionHandler) { ... }); app.home.factory和app.impressum的三个模块非常相似,所以我把它留给你. 如您所见,您仍然需要将$exceptionHandler放入控制器的函数参数中,但模块本身不需要注入,因为它继承了其父模块app.home和app的所有注入. 通过在AngularJS应用程序中使用模块层次结构,可以在适当的位置进行注入…对于整个应用程序,模块组或仅在单个模块上更全局.此外,我们为App的部分提供了一个非常干净的结构. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |