Angularjs 比较两个数组并更改角度中ng重复项的样式

Angularjs 比较两个数组并更改角度中ng重复项的样式,angularjs,arrays,styles,ng-repeat,Angularjs,Arrays,Styles,Ng Repeat,我有一个类似这样的json- [{ "id": "152", "name": "Accounting", "parent_id": "0", "created_at": "2016-12-20 18:10:57", "updated_at": "2016-12-20 18:10:57" }, { "id": "292", "name": "Administration", "parent_id": "0", "created

我有一个类似这样的json-

[{
    "id": "152",
    "name": "Accounting",
    "parent_id": "0",
    "created_at": "2016-12-20 18:10:57",
    "updated_at": "2016-12-20 18:10:57"
}, {
    "id": "292",
    "name": "Administration",
    "parent_id": "0",
    "created_at": "2016-12-20 18:37:29",
    "updated_at": "2016-12-20 18:37:29"
}, {
    "id": "422",
    "name": "Banquet",
    "parent_id": "0",
    "created_at": "2016-12-20 18:43:26",
    "updated_at": "2016-12-20 18:43:26"
}, {
    "id": "502",
    "name": "Engineering & Maintenance",
    "parent_id": "0",
    "created_at": "2016-12-20 18:47:12",
    "updated_at": "2016-12-20 18:47:12"
}, {
    "id": "622",
    "name": "Food & Beverage Admin",
    "parent_id": "0",
    "created_at": "2016-12-20 18:51:00",
    "updated_at": "2016-12-20 18:51:00"
}, {
    "id": "782",
    "name": "Food & Beverage Service",
    "parent_id": "0",
    "created_at": "2016-12-20 18:56:38",
    "updated_at": "2016-12-20 18:56:38"
}, {
    "id": "982",
    "name": "Front Office",
    "parent_id": "0",
    "created_at": "2016-12-20 19:05:04",
    "updated_at": "2016-12-20 19:05:04"
}, {
    "id": "1212",
    "name": "Housekeeping & Laundry",
    "parent_id": "0",
    "created_at": "2016-12-20 19:15:48",
    "updated_at": "2016-12-20 19:15:48"
}, {
    "id": "1352",
    "name": "HR",
    "parent_id": "0",
    "created_at": "2016-12-21 10:12:38",
    "updated_at": "2016-12-21 10:12:38"
}, {
    "id": "1462",
    "name": "IT",
    "parent_id": "0",
    "created_at": "2016-12-21 10:16:14",
    "updated_at": "2016-12-21 10:16:14"
}, {
    "id": "1492",
    "name": "Kitchen / Food Preparation",
    "parent_id": "0",
    "created_at": "2016-12-21 10:17:29",
    "updated_at": "2016-12-21 10:17:29"
}, {
    "id": "1712",
    "name": "Purchase",
    "parent_id": "0",
    "created_at": "2016-12-21 10:26:09",
    "updated_at": "2016-12-21 10:26:09"
}]
我在列表中用ng repeat进行迭代

现在我有了另一个类似的数组

[152,292,422,1712].
现在,我如何将第二个数组与第一个数组的id匹配,并在视图中更改那些匹配id对象的样式


请提出建议。

假设“items”是数组的名称,则您需要重复ng:

<div ng-repeat="item in items">

您可以使用(或)查看每个项目,然后将其划分为不同样式的部分:

<div ng-switch="item.id">
  <div ng-switch-when="152" class="152-class"></div>
  <div ng-switch-when="292" class="292-class"></div>
  <div ng-switch-default class="default-class"></div>
</div>

你明白了,但是看看我链接的文档,他们可能会解释得更好。

你可以使用这个指令。 假设Json保存为foodList,则代码如下所示:

<div ng-repeat="food in foodList"> 
  <div ng-class="{'classNameToWantedStyle': isIDInList(food.id)}">
     {{food.name}}
  </div>
</div>

{{food.name}

在控制器中,如果id在列表中,则会生成一个相应的函数,返回true。在这里,您可以使用javascripts indextOf方法来确定这一点。

有人能帮我吗?我感谢您的帮助。让我看看。谢谢,我不能真正使用ng switch,因为这些数组是动态的,数据可以是任何东西。这是我想要的。谢谢我接受你的回答。感谢纳巴拉格,祝你未来幸福。