如何使用AngularJS通过数组迭代时间(以秒为单位)

时间:2015-09-03 10:38:41

标签: angularjs angularjs-ng-repeat

我有这个JSON对象,其中包含一系列设备类型,每种类型都有一系列品牌:

{
"types": [
    {
      "type": "phone",
      "brands": [“samsung”,”apple”,”LG”, … //a list of brands]
    },
    {"type": "PC",
      "brands": [“DELL”,”apple”,”HP”, … //a list of brands]
    },
    …// a list of types
]

}

使用AngularJS ng-repeat我可以遍历每个数组,但我想在同一个按钮中逐个显示品牌列表,每个值显示2秒,无限循环,但是我无法想办法做到这一点。

2 个答案:

答案 0 :(得分:0)

你不需要为此重复ng-repeat。因为你需要一次只显示一个元素。

vm.display = {
   count : 0,
   current :  null,
   repeat : function() { $interval( vm.display.changeElement(), 2*1000)  }
   changeElement : function() { vm.display.current =  list[vm.display.count] ; vm.display.count++; }
}

然后从服务器

获取数据后调用vm.repeat()

答案 1 :(得分:0)

如前所述,您可以使用$ interval代替ng-repeat来执行此操作。

$interval(function(){
      $scope.buttonLabel =$scope.data.types[0].brands[$scope.count%3];
      $scope.count++;
    },2000);

我希望这就是你所需要的。 :) http://plnkr.co/edit/8VIJAN?p=preview