以下是jsFiddle的链接:AngularJS : Display Data
我有HTML文件如下:
<div ng-controller="myCtrl">
<div ng-repeat="test in tests">
<p>{{test.testName}}</p>
</div>
</div>
.js文件下的控制器如下:
var app = angular.module('myApp', []);
function myCtrl($scope) {
$scope.tests = [{
"testName" : "Test-1 : Windows Test"
},
{
"testName" : "Test-2 : Linux Test"
},
{
"testName" : "Test-3 : Unix Test"
},
];
}
我的问题是:
目前结果如下:
Test-1 : Windows Test
Test-2 : Linux Test
Test-3 : Unix Test
我希望在开始时和30秒后显示Test-1 : Windows Test
Test-2 : Linux Test
,在30秒后显示Test-3 : Unix Test
等等。!!
再次完成所有数据后,Test-1 : Windows Test
将再次出现!! !!
我应该如何使用AngularJS实现它?
答案 0 :(得分:3)
您可以使用angular.js中的设置时间间隔( $ interval )来完成此操作。我不知道如何向你解释。但我会用 fiddler 给我的代码,你可以看到我做了什么。
请尝试以下方式而不是代码。
<div ng-app="myApp">
<div ng-controller="myCtrl">
<p>{{testName}}</p>
</div>
</div>
Javascript更改
以下代码由eache工作30秒(我不知道确切的30秒),但你可以把你需要的时间放在
angular.module('myApp',[])
.controller("myCtrl",["$scope","$interval",function($scope, $interval){
$scope.tests = [{
"testName" : "Test-1 : Windows Test"
},
{
"testName" : "Test-2 : Linux Test"
},
{
"testName" : "Test-3 : Unix Test"
}
];
var count=0;
$interval(function(){
$scope.testName=$scope.tests[count].testName;
count=count+1;
if($scope.tests.length==count){
count=0;
}
},30000); // I don't know it's exact 30 seconds
}]);
我已经为您更新了正确的代码。