我目前正在使用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}}