value を使って詰まったことがあったのでメモ.
value に関するドキュメントにはこうある。
Value services are similar to constant services, except that they cannot be injected into a module configuration function (see angular.Module#config) but they can be overridden by an Angular decorator.
んで、自分はAngular translate でロケールファイルを config() 時に value で定義したサービスをDIしてたんだが、これがどうも読み込めずに詰まった。
改めて上記をみるとずばり config 時にモジュールを注入できない点が consntant serviceと違うとあった。
ということで、 value ではなく、 constant でserviceをconfigへDIしたところうまくいった。
angular.module('koboApp', [ 'pascalprecht.translate' ]) .config ($translateProvider, langJa, langEn) -> console.log langJa $translateProvider.translations('en', langEn.langs) $translateProvider.translations('ja', langJa.langs) $translateProvider.preferredLanguage('ja') .constant 'langJa', langs: GREETING: 'こんにちは、世界!'
これでAngularJS のI18N に関してうまくいったので、そのことについては気が向いたら後日書く。
また、上記英語にあった decorator に関しても調べておこう。