AngularJS在嵌套数组中插入数据并使用特定的嵌套数组对象进行排序

时间:2014-08-19 13:57:58

标签: arrays json angularjs nested

我是AngularJS的新手,我希望在我的$ scope.tabledata中有一个类似JSON的嵌套数组。但每次我点击添加按钮,都没有任何反应:(您的想法将受到高度赞赏。

这是我的傻瓜:

http://plnkr.co/edit/GdoaYI

//Array I want to Achieve

var SampleDataToProduce =  {
                     "Continent":"Asia",
                     "ContinentId":"ContId1",
                     "Countries": {
                                  "Japan":
                                      [
                                      {
                                      "Id": 3,
                                        "ColumnIndex": 3,
                                        "ColumnName":"Tokyo",
                                        "Interests":{
                                                      "Music":["JRock","JPop"]
                                                    }
                                      },
                              {
                              "Id": 4,
                                        "ColumnIndex":2,
                                        "DisplayText":"Comment",
                                        "ColumnName": "Osaka",
                                        "Interests":"Music","Anime":{} 
                              }
                                        ]
                                  }
                            }  

2 个答案:

答案 0 :(得分:1)

您的脚本中有很多语法错误。我建议你仔细检查你的语法。

addThisColumn函数中,您的tabledata应该是$scope.tabledata。这是工作职能:

        $scope.addThisColumn = function () {
        $scope.tabledata.push({
            Continent : $scope.continent,
            ContinentId : $scope.continentid,
            Country: $scope.country
          })
       };

这是working plunkr,我猜这可能是你想要/需要的。

与此同时,您可能需要阅读AngularJs的官方文档。

答案 1 :(得分:1)

你在代码中犯了一些基本错误。你没有正确使用你的$ scope变量(例如:你试图进入'tabledata',而不是'$ scope.tabledata')。

在你的最后一行tabledata.Countries.Country.push({ColumnIndex: $scope.columnindex})(你也应该使用$scope.tabledata),你试图进入Countries.Country,但Countries中没有这样的字段。 像$scope.tabledata.Countries[$scope.country]这样的东西我猜是可能的。

希望有所帮助,欢迎来到stackoverflow