我正在构建一个Angular应用程序并使用角度翻译,因为它需要使用双语。
我似乎正确创建了我的JSON(通过检查程序运行),但是当我尝试访问JSON对象中超出第一级别的项目时,它返回undefined。
例如,我在角度翻译中的JSON就是:
$translateProvider.translations('en', {
"SEARCH": {
"SEARCH" : "Recherce",
"ABILITY" : "Abilities",
"MANAGEMENT" : "Management Competencies",
"PERSONAL" : "Personal Suitability"
},
"ABILITIES": {
"TITLE" : "Test Title here",
"ADVISORY": {
"TITLE" : "Advisory Skills",
"QUESTIONS": [
{
"TYPE" : "A",
"LEVEL" : "45",
"DESCRIPTION" : "Can you tell me how awesome you are"
},
{
"TYPE" : "B",
"LEVEL" : "100",
"DESCRIPTION" : "Tell me about your wicked project"
}
]
}
},
"HEADLINE": "Oh No!",
"SUB_HEADLINE": "Looks like you are not amazing"
});
要开始访问JSON对象中的数据,我会
list = $translateProvider.translations('en');
现在,当在控制台中输出项目以查看它们是否有效时,我会这样做:
console.log(list);
var getTitle = list.HEADLINE;
var getSearch = list.SEARCH.ABILITY;
console.log(getSearch);
console.log(getTitle);
这是奇怪的地方。
'列表'返回我指定的JSON数组
获取
HEADLINE
返回Oh No!
但获取
list.SEARCH.ABILITY
会返回undefined
什么给了!?我没有尝试在真正嵌套的数组中访问我真正想要的东西" ABILITIES"
请记住,Angular Translate使用格式{{ 'ABILITIES.ADVISORY.TITLE' | translate }}
将JSON输出到HTML页面
答案 0 :(得分:-3)
尝试list.SEARCH["ABILITY"].value