当前位置: 代码迷 >> JavaScript >> 如何使用ng-options迭代对象中的数组?
  详细解决方案

如何使用ng-options迭代对象中的数组?

热度:40   发布时间:2023-06-13 12:13:03.0

如何使用ng-options用对象中的“categories”数组的结果填充select元素?

        {
          title: "Star Wars",
          categories: ["Coding", "Exploration", "Adventure"]
        }, {
          title: "Street Wars",
          categories: ["Surfing", "Exploration", "Testing"]
        },

我想填充一个包含所有可用类别的select元素,然后使用“unique”来过滤掉重复的条目......

正如评论所说,在控制器中创建唯一部件可能更容易,并在新阵列上使用ngOptions

$scope.uniqueOptions = [];
for (var i = 0; i < data.length; i++) {
    for (var j = 0; j < data[i].categories.length; j++) {
        if ($scope.uniqueOptions.indexOf(data[i].categories[j]) === -1) {
            $scope.uniqueOptions.push(data[i].categories[j])
        }
    }
}

选项:

<select ng-model="someModel" ng-options="category as category for category in uniqueOptions"> </select>

如果您使用的是ngRepeat,则可以这样做

 <select ng-model="cat" ng-options="c for c in movie.categories"></select>

编辑:选择需要ngModel。

  相关解决方案