这是我在Controller中的循环。我正在尝试使用Angular JS创建和显示图表,但我无法这样做。在我的视图中重复相同的图形,并且在页面刷新时,图形会发生变化。我想要来自JSON的响应“选项”和“投票”。我犯了什么错误?
for (var i = 0; i < response.response.options.length;i++) {
labels.push(response.response.options[i].options);
data.push(response.response.options[i].votes);
$scope.labels = labels;
$scope.data = [
data
];
这是我的JSON。我有多个调用,因此从API调用多个这样的JSON。
{
"response": {
"poll": {
"id": "17",
"story_id": "28346",
"user_id": "32425",
"question": "Who's your favorite actor?",
"status": "1",
"docs": "1473121969"
},
"options": [
{
"id": "59",
"options": "1. Hamza Ali Abbasi",
"image_url": "31xjr2a6f838gwqkw68p.png",
"doc": "1473121970",
"votes": "3"
},
{
"id": "60",
"options": "2. Emmad Irfani",
"image_url": "w9yhbtlr39pzn9d9bijf.png",
"doc": "1473121970"
},
{
"id": "61",
"options": "3. Shahbaz Shigri",
"image_url": "hxnbem90wtlo7eb8tuew.png",
"doc": "1473122087"
},
{
"id": "62",
"options": "4. Fawad Khan",
"image_url": "f9q6ud83bjt8ateazzzs.png",
"doc": "1473122111"
}
]
}
}
答案 0 :(得分:0)
我想我知道你在做什么,为什么它不起作用,这可能是你的“数据”阵列。这是一个jsfiddle,它可以工作并显示你想要的信息:
https://jsfiddle.net/jwb9acqL/
如果查看原始代码中对象的控制台输出,则输出为:
[labels: Array[4], data: Array[1]]
数据中的“投票”由于某种原因被置于另一个子阵列中:
$scope.data = [
data
];
我删除了那个额外的数组。看看是否有帮助。如果没有,我会说你需要发布图代码。