2014-10-29 46 views
0

林在angularjs一个基本的翻译服务工作,我在翻译的视图中的对象是这样的:angularjs中可能的变量变量?

var translations = {"name":"Name", "address":"Address", "phone":"Telephone"}; 

所以我想更换,如果我找到了{{电话}}中的观点其翻译的价值:“电话”。

是否有某种方式来调用变量变量同时迭代,就像这样:

<div class="item item-text-wrap" ng-repeat="(k, v) in profile_fields"> 
    <b>{{translations. {{k}} }}</b> 
</div> 

提前感谢!

回答

5

当然,只要使用此:

<b>{{translations[k]}}</b> 

基本上,访问translations对象,你会在JavaScript中,使用k变量等。

请记住,你永远不必嵌套那些更深的括号({{}})。
另外,Angular Translate是一个很不错的翻译库。你可能想看看它。

+0

太棒了!谢谢,它的工作 – pabloasc 2014-10-29 09:29:09

+0

@pabloasc:没问题! [请考虑接受这个答案; - ]](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – Cerbrus 2014-10-29 10:13:21

+0

我在项目的一部分中使用了Angular Translate,静态部分。但是这个应用程序需要连接到多个站点,并使用Web服务从每个站点加载不同的翻译文件。所以翻译是动态的,可以多次更改,也有可能一个网站有一个文件翻译为英文,其他网站有不同的英文翻译。我没有找到一种方法使用Angular Translate进行工作,因为翻译必须在应用程序的开始部分进行设置,但是我打电话来获取翻译的Web服务必须在此之后调用。 – pabloasc 2014-10-29 10:50:34