我是AngularJS的新手,我希望在我的$ scope.tabledata中有一个类似JSON的嵌套数组。但每次我点击添加按钮,都没有任何反应:(您的想法将受到高度赞赏。
这是我的傻瓜:
//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":{}
}
]
}
}
答案 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