即使使用ng-annotate,我也厌倦了声明/更新依赖项数组和依赖注入参数。 特别是在我的控制器/指令上。
我可以创建一个引用我所有服务的超级服务而不会导致重大问题吗? 即使只用于控制器和指令?
正常:
ExportTransactionDirectiveDependencies = [
"ApiBasicServiceModule"
"CSVMakerServiceModule"
"NgTableHelperServiceModule"
"UtilServiceModule"
"ExportTransactionsServiceModule"
]
ExportTransactionController = ($scope, $routeParams, ApiBasicService, UtilService, ExportTransactionsService)->
# PRIVATE
_bapi = ApiBasicService
_u = UtilService
_nh = NgTableHelperService
_x = ExportTransactionsService
_websiteId = $routeParams.website_id
_meta = {}
...
angular
.module 'ExportTransactionDirectiveModule', ExportTransactionDirectiveDependencies
.directive 'exporttransaction', ExportTransactionDirective
拟:
ExportTransactionController = ($scope, $routeParams, RefService)->
# PRIVATE
_bapi = ServiceRefService.ApiBasicService
_u = ServiceRefService.UtilService
_nh = ServiceRefService.NgTableHelperService
_x = ServiceRefService.ExportTransactionsService
_websiteId = $routeParams.website_id
...
angular
.module 'ExportTransactionDirectiveModule', ['RefServiceModule']
.directive 'exporttransaction', ExportTransactionDirective
这意味着更少维护重复的语义/句法含义,以及更短的代码。我并不觉得它失去了它的表现力,因为我拥有“#PRIVATE'节
答案 0 :(得分:1)
没有理由你没有理由。它基本上是一种具有漂亮语法的注入服务。
在我看来 - 不要这样做......
您将与Angular的意图作斗争,并且它有一个不错的错误记录系统,可以帮助您更好地进行调试和编码。毫无疑问,如果您使用不同模块的服务,它有时会让您失望。
我认为你正在为一个非常微不足道的问题设计一个解决方案 - 给未来的开发人员带来挫败感和胡须。
你的代码。