recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment obtenir certaines valeurs $index en répétition dans AngularJS?

<!DOCTYPE html>
<html ng-app="app">
<head>
    <title></title>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
</head>
<body>
    <ul>
        <li ng-repeat="d in arr" > <span ng-bind="$index"></span>  <span ng-bind="d.status" ng-style="d.color"></span></li>
    </ul>
    <a href="javascript:void(0)" ng-click="getOffIndex()">获取timeout的索引</a>
    <script type="text/javascript">
        var app = angular.module("app",[]);
        app.run(function($rootScope){

            for(var i=0; i<10; i++){
                $http({
                    method : "JSON",
                    url : "/xxxx/data"
                }).then(function(data){

                    /* data返回的数据 */
                    //data = {status:"on",color:{color:"#000"}}
                    /* 有时返回timeout */
                    //data = {status:"timeout",color:{color:"red"}}

                    //push到arr数组,然后通过repeat循环展示
                    /*$rootScope.arr  = [
                        {status:"on",color:{color:"#000"}},
                        {status:"on",color:{color:"#000"}},
                        {status:"timeout",color:{color:"red"}},
                        {status:"on",color:{color:"#000"}},
                        {status:"timeout",color:{color:"red"}},
                        {status:"on",color:{color:"#000"}},
                        {status:"on",color:{color:"#000"}},
                        {status:"on",color:{color:"#000"}},
                        {status:"on",color:{color:"#000"}},
                        {status:"on",color:{color:"#000"}},
                        {status:"timeout",color:{color:"red"}}
                    ];*/

                    $rootScope.arr.push(data);


                },function(){});
            }

            $rootScope.getOffIndex = function(){
                //这里如何获取到全部的status:"timeout"的$index索引值.注意只要timeout的
            }

            //我的需求就是当点击  "获取timeout的索引" 按钮后  将这些timeout的状态在重新请求,如果请求成功,就会把timeout显示成on.

            //因为循环请求有时会timeout超时

            //所以现在最大的问题就是怎么把 timeout重新请求.然后修改$rootScope.arr数组的相应下标位置,重点就在这里
            
            
        });
    </script>

</body>
</html>
$rootScope.getOffIndex = function(){
                //这里如何获取到全部的status:"timeout"的$index索引值.注意只要timeout的
            }

Mon exigence est de redemander l'état du délai d'attente après avoir cliqué sur le bouton "Obtenir l'index du délai d'attente". Si la demande réussit, le délai d'attente sera affiché comme étant activé.
Parce que les requêtes cycliques expirent parfois, le plus gros problème maintenant est de savoir comment. pour demander à nouveau le délai d'attente. Modifiez ensuite la position de l'indice correspondant du tableau $rootScope.arr. Le point clé est ici
.

阿神阿神2743 Il y a quelques jours778

répondre à tous(1)je répondrai

  • 大家讲道理

    大家讲道理2017-05-16 13:21:43

    Le commentaire dit que traverser l'arr est correct,

    $rootScope.arr  = [
        {status:"on",color:{color:"#000"}},
        {status:"on",color:{color:"#000"}},
        {status:"timeout",color:{color:"red"}},
        {status:"on",color:{color:"#000"}},
        {status:"timeout",color:{color:"red"}},
        {status:"on",color:{color:"#000"}},
        {status:"on",color:{color:"#000"}},
        {status:"on",color:{color:"#000"}},
        {status:"on",color:{color:"#000"}},
        {status:"on",color:{color:"#000"}},
        {status:"timeout",color:{color:"red"}}
    ];

    Vous imaginez, j'obtiens l'objet dont l'attribut est timeout dans ce tableau, et sa valeur d'index dans ce tableau

    Vous voudrez peut-être porter un jugement direct à la réception, vous pouvez le faire, mais ce n'est pas recommandé

    répondre
    0
  • Annulerrépondre