<!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的
}
Meine Anforderung besteht darin, den Timeout-Status erneut anzufordern, nachdem ich auf die Schaltfläche „Timeout-Index abrufen“ geklickt habe. Wenn die Anfrage erfolgreich ist, wird das Timeout als „Ein“ angezeigt Um die Zeitüberschreitung erneut anzufordern, ändern Sie die entsprechende Indexposition des Arrays $rootScope.arr. Der entscheidende Punkt ist hier
评论说遍历arr是对的,
你想象成,我获得这个数组中,属性为timeout的对象,他在这个数组中的index值
你可能是想在前台直接判断,可以做,不推荐这样做