Angularjs 比较两个数组并更改角度中ng重复项的样式
我有一个类似这样的json-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
[{
"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,因为这些数组是动态的,数据可以是任何东西。这是我想要的。谢谢我接受你的回答。感谢纳巴拉格,祝你未来幸福。