2016-07-25 66 views
0
<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個用戶,以及類別和權限AngularJs從數組中生成類別

{ 
    "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); 

    } 
} 

}); 

它不工作,但它給你什麼,我試圖做一個想法。視圖看起來像這樣

enter image description here

分類管理,標籤在這裏的複選框是權限的頂部,列表。我很確定我所要做的就是將類別作爲參數提供給vm.parent.getAllPermissions,但我不擅長角度和JS,我更願意問你。

+0

我的道路上,如果您有任何疑問,請讓我知道,我我會在3小時內澄清一切。沒有互聯網連接 – Lynob

+0

'allData'是怎麼樣的?它是你發佈的地圖嗎? –

+0

@AminMeyghani基本上是java發送json,對象,他們需要映射到數組,我的表示只是爲了告訴你如何json的樣子,但基本上它需要映射 – Lynob

回答

1

我認爲所有你需要做的是你需要一次推一個值 - 推對象。所以,你的代碼應該是這樣的:(剛加入大括號)

permissionArray.push({category,key}); 

下面是一個例子:https://jsfiddle.net/yh0ugp6q/1/

+0

這是一個比這個更大的問題,但我會接受你的答案,因爲我解決了這個問題 - 我不得不映射對象 – Lynob