如何ng-Repeat为数组对象进行角度平移?



我目前正在使用Pascal Precht的插件角度翻译进行Angular项目。我有一个常见问题解答页面,其中包含答案选项卡。我想要实现的是为问题提供一个动态值。这样我就对这些问题有一个循环,这些问题将作为 Json 数组在翻译文件中。这是我的示例 JSON 文件。

"FAQS_QUESTION"  : [
{
"question" : "Question 1?",
"answer"   : "Answer 1 "
},
{
"question" : "Question 2?",
"answer"   : "Answer 2" 
},
{
"question" : "Question 3?",
"answer"   : "Answer 3" 
}
]

我尝试了下面的代码,但它不起作用。我得到一个"角度.js:14525 FAQS_QUESTION不存在的翻译">

ul( ng-repeat="thumbnail in 'FAQS_QUESTION' | translate ")
li 
| {{thumbnail.question}}
| {{thumbnail.answer}}

我也尝试将其加载到我的控制器中,但没有运气

$translate('FAQS_QUESTION').then(function (translations) {
console.log(translations.questions);
}, function (translationIds) {
console.log(translationIds);
});

我找到了一个解决方法,实现是这样的:

ul(ng-init="count = ('FAQS_QUESTION_COUNT' | translate)")
li(ng-repeat="item in getQuestionCount(count) track by $index")
p(translate="FAQS_QUESTION.{{$index}}.question")
p(translate="FAQS_QUESTION.{{$index}}.answer")

它解决了我的问题。但是,对于维护来说,指示每个迭代的计数将是一件乏味的事情。由于我们计划为每个问题设置一个部分

谁能帮我解决这个问题?我不确定我是否感谢您的所有帮助。谢谢

在此片段中

ul( ng-repeat="thumbnail in 'FAQS_QUESTION' | translate ")
li 
| {{thumbnail.question}}
| {{thumbnail.answer}}

您的值'FAQS_QUESTION'只是一个普通字符串,因此您没有引用您的数据。此外,我相信translate过滤器不适用于集合。

相反,请尝试执行以下操作:

ul( ng-repeat="thumbnail in FAQS_QUESTION")
li 
| {{thumbnail.question | translate}}
| {{thumbnail.answer | translate}}

最新更新