我很难在Angular中翻译属性。
我正在重复一个阵列,其中每个项目都有一天的“一天”'属性。
<h2 ng-repeat="f in forecast">{{ "days[f.day]" | translate }} {{ f.date | date:'dd' }}</h2>
在翻译部分,我有一个&#39;天&#39;属性有7个子属性,一个星期的每一天。
$translateProvider.translations('en', {
...
days: {
sunday:'Sunday',
monday:'Monday',
tuesday:'Tuesday',
wednesday:'Wednesday',
thursday:'Thursday',
friday:'Friday',
saturday:'Saturday'
}
});
因此,我试图在“#days”期间访问正确的翻译。属性为&f; day&#39;价值,但我找不到合适的语法。
我很乐意为此提供一些帮助。
感谢。
答案 0 :(得分:0)
我唯一看错的是您在提供商中设置days
的方式。
你拥有的基本上是一个关联数组:
days: {
sunday:'Sunday',
monday:'Monday',
tuesday:'Tuesday',
wednesday:'Wednesday',
thursday:'Thursday',
friday:'Friday',
saturday:'Saturday'
}
使用此当前结构,您无法执行days[f.day]
之类的操作,除非您确定f.day
将匹配您的某个键。一个例子就像days.friday
因此,首先要检查的是记录f.day
以查看其实际情况。
以下建议基于f.day
是整数的假设。为了使days[f.day]
能够正常工作,您需要几天才能成为这样的数组:
days = [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
您还可以执行以下对象数组:
days = [
{"name":"Sunday"},
{"name":"Monday"},
{"name":"Tuesday"},
{"name":"Wednesday"},
{"name":"Thursday"},
{"name":"Friday"},
{"name":"Saturday"},
]
但是你必须做days[f.day].name
(再次假设f.day是一个整数)
答案 1 :(得分:0)
感谢你的回答克里斯,我得到了正确的日子......但问题是当我把它放在支架与翻译过滤器之间时。像这样:
{{ "days[f.day]" | translate }}
在我看来,它显示:天[f.day] 而非翻译。