如何使用angularjs

时间:2016-10-27 12:46:50

标签: angularjs json

我是angularjs的新手。在我的json数据中有两个对象类别和sub_categories。

{
    "status": true,
    "data": {
        "categories": {
            "1": "Fasteners",
            "2": "Paints",
            "3": "Abrasives"
        },
        "sub_categories": {
            "1": [
                "Select All",
                "Nuts",
                "Bolts",
                "others"
            ],
            "2": [
                "All",
                "Industrial Paints",
                "Primer"
            ],
            "3": "3",
            "4": "4"
        }
    }
}

我需要在各自的类别下映射sub_categories。我可以分别按ng-repeat="(keyCat,cat) in myData.data.categories "ng-repeat = "(keySubCat,subCat) in myData.data.sub_categories"获取类别和子类别的关键值,但我无法找到映射它们的方法。

任何人都可以提供可能的解决方案或指导我如何映射这两个对象。

我的第二个问题是我如何实现对这个json对象的搜索。这不是一个json数组,所以我无法使用过滤器。

2 个答案:

答案 0 :(得分:1)

您可以使用类别中的keyCat

<div ng-repeat="(keyCat,cat) in myData.data.categories">
  {{cat}}
  <div ng-repeat="subCat in myData.data.sub_categories[keyCat]">
    {{subCat}}
  </div>
</div>

虽然我会更改数据结构以在类别值中包含子类别。

答案 1 :(得分:0)

我会尝试这样的事情:

var categories = Object.keys(data.categories).map(function(key) {
    var cat = {
    id: key,
      name: data.categories[key],
    sub_categories: data.sub_categories[key]
  }
  return cat;
});

现在您已将其转换为数组,您可以更轻松地搜索它。