我如何整理我的依赖注入?

时间:2014-12-11 08:31:04

标签: angularjs coffeescript

对角度来说还是新手,如果我问一个愚蠢的问题,请告诉我!感谢。

我想整理我的app.js文件,该文件在我的rails应用程序中实例化角度模块。它目前是一个巨大的列表,看起来像这样

var app = angular.module('app', [
  'ngRoute'
, 'ngAnimate'
, 'ngSanitize'
, 'ngCookies'
, 'http-auth-interceptor'
, 'angularFileUpload'
, 'underscore'
, 'angulartics'
, 'angulartics.google.analytics'
, 'angulartics.mixpanel'
, 'angular-loading-bar'
, 'mm.foundation'

, 'directives.dateInput'
, 'directives.elementResize'
, 'directives.calendar.calendarResize'
, 'directives.dayCalendar'
, 'directives.ngEnter'
, 'directives.datePicker'
// ....... and so on for filters
]);

是否可以要求指令自动加载其他指令,以及加载其他过滤器的过滤器,以便此列表变得更易于管理?

另外,当我在控制器/指令中注入主服务时,主服务是否可以自动注入其他服务?

例如:

app = angular.module("app")
app.service "ValidationService", (IdValidator) ->
  return

app.service "IdValidator", ->
  @validate = (value) ->
     #insert code

1 个答案:

答案 0 :(得分:1)

您可以而且应该将其拆分为逻辑模块,并使您的应用程序依赖于这些模块。 例如: 将所有指令放入一个模块中,并将此模块作为依赖项添加到您的应用程序中。

您可以将这些模块拆分为多个文件(如果它们适合相同的" Group")

angular.module('myDirectives', [
  'directives.dateInput',
  'directives.elementResize',
  'directives.calendar.calendarResize',
  'directives.dayCalendar',
  'directives.ngEnter',
  'directives.datePicker'
]);

angular.module('myApp', [
  'myDirectives',
  'analyticsModule',
  'utilsServices'
]);
相关问题