javascript - Bagaimana untuk mendapatkan nilai $index tertentu berulang dalam angularjs?
阿神
阿神 2017-05-16 13:19:43
0
1
792
<!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的
            }

Keperluan saya ialah meminta semula status tamat masa ini selepas mengklik butang "Dapatkan indeks masa tamat" Jika permintaan berjaya, tamat masa akan dipaparkan seperti pada
Oleh kerana permintaan kitaran kadangkala tamat masa, jadi masalah terbesar sekarang ialah Begitulah cara untuk meminta tamat masa sekali lagi Kemudian ubah suai kedudukan subskrip yang sepadan bagi tatasusunan $rootScope.arr Perkara utama adalah di sini

阿神
阿神

闭关修行中......

membalas semua(1)
大家讲道理

Komen mengatakan bahawa merentasi arr adalah betul,

$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"}}
];

Anda bayangkan, saya mendapat objek yang atributnya tamat masa dalam tatasusunan ini, dan nilai indeksnya dalam tatasusunan ini

Anda mungkin ingin membuat pertimbangan terus di meja depan, anda boleh melakukannya, tetapi tidak digalakkan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan