Угловая постоянная не определена в фазе конфигурации другого модуля

0

У меня есть следующий код, который описывает мой основной модуль 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 не определена в функции конфигурации.

Любая идея почему?

Теги:

1 ответ

2
Лучший ответ

Это не связано с тем, как управлять угловыми модулями. var crTranslations объявляется ранее .constant("crTranslations", crTranslations), из-за JS hoisting, но присваивается объекту только после этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню