У меня есть следующий код, который описывает мой основной модуль i18n:
angular
.module('myApp.i18n', ['pascalprecht.translate', 'myApp.i18n.constants'])
.config(config);
config.$inject = ['$translateProvider', 'crTranslations'];
function config($translateProvider, crTranslations) {
$translateProvider.translations('sr-latn', crTranslations.sr);
$translateProvider.translations('en', crTranslations.en);
$translateProvider.preferredLanguage('sr-latn');
};
И у меня есть еще один модуль, который содержит следующий код:
angular
.module('myApp.i18n.constants', [])
.constant("crTranslations", crTranslations);
var crTranslations = {
"en": {
//english translations
},
"sr": {
//serbian translations
}
}
Я включил оба файла сценария в свой index.html, и оба модуля загружаются (константы перед основным), но константа crTranslations не определена в функции конфигурации.
Любая идея почему?
Это не связано с тем, как управлять угловыми модулями. var crTranslations
объявляется ранее .constant("crTranslations", crTranslations)
, из-за JS hoisting, но присваивается объекту только после этого.