繁体   English   中英

如何对嵌套数组使用ng-options?

[英]how to use ng-options for nested array?

我正在使用选择的角度列出选项。但是如何将ng-options用于嵌套数组?

<select chosen
option="countries"
 ng-model="data"
  ng-options="??">
</select>

这是我的数组。

 $scope.data=  [
  {
"Name": "Cat1",
"CategoryID": "1",
"actions": [
  {
    "ActionName": "action1",
   },
  {
    "ActionName": "action2",

  }
]
},
{
"Name": "cat 2",

"actions": [
  {
    "ActionName": "action3",
   },
  {
    "ActionName": "action4",

  }
]
}
  {
"Name": "cat 3",
"actions": [
  {
    "ActionName": "action5",
   },
  {
    "ActionName": "actions 5",

  }
 ]
 }

 ]

我想按类别名称列出选项组
猫1
动作1
动作2
猫2
动作3
动作4
猫3
动作5
动作6

您可以解析“数据”并将其转换为以下格式,并使用以下所示的ng-options。

$scope.countries = [
    { actionName: 'action1', catName: 'cat1' },
    { actionName: 'action2', catName: 'cat1' },
    { actionName: 'action3', catName: 'cat2' },
    { actionName: 'action4', catName: 'cat2' },
    { actionName: 'action5', catName: 'cat3' },
    { actionName: 'action6', catName: 'cat3' }   
];

<select ng-model="country" 
        ng-options="item.actionName group by item.catName for item in countries">
</select>

在此链接中找到有关ng-options的更多信息https://www.undefinednull.com/2014/08/11/a-brief-walk-through-of-the-ng-options-in-angularjs/

我在javascript中创建了一个新数组,并通过ng-options进行了迭代,请检查以下链接

https://plnkr.co/edit/i9LfV50Y2gXElFzVgFDl?p=预览

我创建了一个数组并将所有值推入该数组,其工作正常

      $scope.uniqueOptions = [];

for (var i = 0; i < $scope.data.availableOptions.length; i++) 
   $scope.uniqueOptions.push($scope.data.availableOptions[i].Name);
   //alert($scope.data.availableOptions[i].Name);
    for (var j = 0; j < $scope.data.availableOptions[i].actions.length; j++) 
     // alert($scope.data.availableOptions[i].actions.length);
       //alert($scope.data.availableOptions[i].actions[0].ActionName);
            $scope.uniqueOptions.push($scope.data.availableOptions[i].actions[j].ActionName;

enter code here

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM