javascript - angularjs怎麼取得repeat裡的某些$index值?
阿神
阿神 2017-05-16 13:19:43
0
1
773
<!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的
            }

我的需求就是當點擊"獲取timeout的索引" 按鈕後將這些timeout的狀態在重新請求,如果請求成功,就會把timeout顯示成on.
因為循環請求有時會timeout超時
所以現在最大的問題就是怎麼把timeout重新請求.然後修改$rootScope.arr數組的相應下標位置,重點就在這裡

阿神
阿神

闭关修行中......

全部回覆(1)
大家讲道理

評論說遍歷arr是對的,

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

你想像成,我得到這個數組中,屬性為timeout的對象,他在這個數組中的index值

你可能是想在前台直接判斷,可以做,不建議這樣做

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板