<table class="table-striped table-bordered table-condensed">
<tbody>
<tr ng-if="$index%3==0" ng-repeat="permission in vm.parent.getAllPermissions()">
<td ng-repeat="i in [0,1,2]" class="col-xs-2">
<span>
<input type="checkbox" checklist-model="vm.data.permissions" checklist-value="vm.parent.getPermission($parent.$index+i)">
{{vm.parent.getPermissionTitle($parent.$index+i) || " "}}
</span>
</td>
</tr>
</tbody>
</table>
这是我现在的角度。我的json是这样的。有N个用户,类别和权限
{
"Admin": {
"category": "admin",
"permission": "admin"
},
"user": {
"category": "user",
"permission": "user"
}
}
vm.getAllPermissions()
返回所有数据。我想分割用户和权限,所以基本上我希望将类别拆分为ui-tab
,并在每个选项卡下将权限显示为表格。
我尝试过这样的事情
var permissionArray =[];
Object.keys(vmgetAllPermissions).map(function(category, key) {
for(var key in vmgetAllPermissions) {
if(vmgetAllPermissions.hasOwnProperty(key)) {
permissionArray.push(category,key);
}
}
});
它不起作用,但它让你知道我正在尝试做什么。视图看起来像这样
类别管理员,顶部的选项卡,复选框所在的权限列表。我很确定我所要做的就是提供类别作为vm.parent.getAllPermissions
的参数,但我不是很擅长角度也不是JS,我更愿意问你。
答案 0 :(得分:1)
我认为你需要做的就是你需要一次推送一个值 - 推送一个对象。所以你的代码看起来像这样:(只需添加大括号)
permissionArray.push({category,key});
以下是一个示例:https://jsfiddle.net/yh0ugp6q/1/