我想知道是否有一种方法可以抽象出跨多个Angular控制器使用的依赖项。例如,如果我的StudentCtrl和TeacherCtrl都利用了$scope,$rootScope,$routeParams和$http,是否有一种方法可以将它们抽象到某种包装中,例如,然后将standardDependencies注入两个控制器,而不是写出所有共享控制器?例如app.controller('StudentCtrl', ['standardDependencies', function(standardDependencies){}]);我知道这是通常用于服务的东西,但我还没有看到任何注入standardDependencies之类的示例,仅是自定义函数。 (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 您不能对$scope执行此操作,因为对于每个控制器它可能有所不同。实际的类似单例的服务,是的,您可以从技术上总结为另一个服务:app.service('standardDependencies', ['$rootScope', ..., function($rootScope, ...) { this.$rootScope = $rootScope; ...}}]);但是我看不出这样做有什么充分的理由。如果StudentCtrl和TeacherCtrl确实如此相似,也许它们都应该依赖于PersonService这样的包装通用功能的东西。关于javascript - Angular JS重构 Controller 依赖项注入(inject),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26516408/ (adsbygoogle = window.adsbygoogle || []).push({});
10-09 15:01