我有以下代码来描述我的主要 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 常量在配置函数中未定义。
知道为什么吗?
最佳答案
它与 Angular 模块的管理方式无关。 var crTranslations
在 .constant("crTranslations", crTranslations)
语句之前声明,因为 JS hoisting ,但仅在此之后才分配给对象。
关于javascript - Angular 常数在另一个模块的配置阶段未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32850595/