javascript - 如何执行每 3 秒返回数组项目的 ng-repeat

标签 javascript angularjs arrays

我希望能够使用 ng-repeat 从数组中返回项目。

我想要的是一些动画效果,其中每个项目在前一个项目之后显示 3 秒。

这是一个 ng-repeat 示例,它在 3 秒延迟后返回结果。 http://jsfiddle.net/98rbe9hc/

<div ng-controller="MyCtrl">
    <ul>
     <li ng-repeat="phone in phones | filter:delay_filter">
     <span>Name : {{phone.name}}</span>
     </li>
     </ul>
</div>

var myApp = angular.module('myApp',[]);

//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});

myApp.controller('MyCtrl', function($scope, $timeout) {
    var delayed = false;
    $scope.phones = [
        { name: 'Motorola' }, 
        { name: 'Nokia' },
        { name: 'Ericsson' }
    ];

    var delayInMilliseconds = 3000;
    var doneWaiting = false;
    $scope.delay_filter= function(item){
        return doneWaiting;
    };

    $timeout(function() {
        doneWaiting = true;
    }, delayInMilliseconds);
});

但我想要的是数组中的每个项目在前一个项目之后 3 秒显示。

最佳答案

HTML

<div ng-controller="MyCtrl">
   <ul>
       <li ng-repeat="phone in phones" ng-if="count >= $index">
          <span>Name : {{phone.name}} {{count}} {{$index}}</span>
       </li>
   </ul>
</div>

<script>
var myApp = angular.module('myApp',[]);

        myApp.controller('MyCtrl', function($scope, $interval) {
        var delayed = false;
        $scope.phones = [
        { name: 'Motorola' }, 
        { name: 'Nokia' },
        { name: 'Ericsson' }
    ];

    var delayInMilliseconds = 3000;
    $scope.count = 0;

        $scope.cunter = $interval(function() {
            $scope.count+=1;
             if($scope.count >= $scope.phones.length){
              $interval.cancel($scope.cunter);
              console.log('end')
            }
        }, delayInMilliseconds);
    });
</script>

关于javascript - 如何执行每 3 秒返回数组项目的 ng-repeat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38950158/

相关文章:

javascript - JavaScript 框架中的 Widget 封装

javascript - Angular ng-show 不反射(reflect)变量的更改

angularjs - IIS 7.5 中不允许使用 Type Script + Angular Js + Web API Status 405 的方法

javascript - 从谷歌浏览器扩展调用页面功能

javascript - 是否可以访问匿名函数中的函数?

javascript - 如何让AngularJS默认选中一个复选框

sql - 具有多个 unnest 调用的 ROWS FROM() 中的列定义

c# - 为什么要将 AsEnumerable() 方法应用于数组?

ruby - 在 Ruby 中比较序列

javascript - 我需要一些帮助来理解这种方法的组合(reduce、concat 和 map)