javascript - AngularJs 从数组生成类别

标签 javascript angularjs

<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>

这就是我现在的 angularjs 。我的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);

    }
}

});

它不起作用,但它让您了解我正在尝试做什么。 View 看起来像这样

enter image description here

类别管理,顶部选项卡,复选框所在的权限列表。我很确定我所要做的就是提供类别作为 vm.parent.getAllPermissions 的参数,但我不太擅长 Angular 或 JS,我更喜欢问你。

最佳答案

我认为您需要做的就是一次推送一个值 - 推送一个对象。所以你的代码看起来像这样:(只需添加花括号)

permissionArray.push({category,key});

这是一个示例:https://jsfiddle.net/yh0ugp6q/1/

关于javascript - AngularJs 从数组生成类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38573758/

相关文章:

javascript - PageObjects + 非 Angular 页面 - 如何加入它们?

node.js - 将冗长的数据下载为 CSV 文件

Javascript 在评估所有参数之前返回结果?

javascript - Firefox OS 模拟器中的 Uint8Array/Uint16Array 转换是否中断?

javascript - 如何使用 jQuery/JS 将列表框滚动到顶部

php - 格式化链接以轻松更改网站位置(例如在另一个网站的子目录中)

javascript - jquery 动画 svg 图形而不使用 svg 插件或 ui 库只有核心

Javascript 不获取下拉值

javascript - 使用 Angularjs 在动态列表项中添加事件 stopPropagation

javascript - Angular : one ng-click call the function twice why?