在我的视图中重复相同的图形,并且在页面刷新时,图形会发生变化

时间:2016-09-07 15:10:20

标签: javascript angularjs json

这是我在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"
      }
    ]
  }
}

1 个答案:

答案 0 :(得分:0)

我想我知道你在做什么,为什么它不起作用,这可能是你的“数据”阵列。这是一个jsfiddle,它可以工作并显示你想要的信息:

https://jsfiddle.net/jwb9acqL/

如果查看原始代码中对象的控制台输出,则输出为:

[labels: Array[4], data: Array[1]]

数据中的“投票”由于某种原因被置于另一个子阵列中:

$scope.data = [
                  data        
              ];

我删除了那个额外的数组。看看是否有帮助。如果没有,我会说你需要发布图代码。