分组和翻译嵌套对象

时间:2014-06-22 16:09:12

标签: javascript json html5 angularjs angular-translate

我需要对我从http服务接收的<select>控件的嵌套JSON数据进行分组和转换,理想情况下不会触及客户端的数据格式,也不会创建帮助器结构。因此,控制器将包含接近于零的逻辑,用于此和整个分组&amp;翻译将在HTML标记方面。

我收到的数据是一个包含多个work groups的数组,其中每个数据都包含与该service type相关的work items和该组所有[{ "id": 1, "serviceTypeId": 1 "works": [{ "id": 101 },{ "id": 102 }] }, ... 的引用。所以(简化)结构是:

的数组

数据

id

对于每种服务类型,工作组和工作我只收到<KEY>.<id>:<translation>,我需要根据当前区域设置在客户端上翻译值。翻译位于JSON文件中,其中所有键值对的结构均为"WORKGROUP.1" : "Some group", "WORKGROUP.2" : "Other group", ... "WORK.101" : "Work number 101 ... 。例如:

翻译

id

因此,我需要将key与已知<select>合并,以获得正确的显示值。

我需要的是work groups控件,其中所有可能的service typeworks分组。然后,选择一个组将显示所有相关的<select ng-model="selectedGroup" ng-options="'WORKGROUP.' + g.id | translate group by 'SERVICETYPE.' + g.serviceTypeId | translate for g in groups" ng-change="groupChanged()"></select> ... <span ng-hide="!selectedGroup"> <label> {{ 'WORKS' | translate }} - {{ 'SERVICETYPE.' + selectedGroup.serviceTypeId | translate }} - {{ 'WORKGROUP.' + selectedGroup.id | translate }} </label> <div ng-repeat="work in groupWorks"> {{ 'WORK.' + work.id | translate }} <br /> </div> </span> 。这就是我现在所拥有的。

HTML

{{1}}

以上工作正常,但它使用我从原始数据创建的“group”var(参见下面的plunkr链接)。是否有任何方法可以获得这种分组和在控制器端没有添加逻辑的项目的翻译?

以下是相关的具有预期结果的plunker:http://plnkr.co/edit/99gVZe

修改 基于@plalx的惊人洞察力,这里链接到我想要实现的目标http://plnkr.co/edit/3bMZZs

0 个答案:

没有答案