javascript - angularjs怎么获取repeat里的某些$index值?
问题描述
<!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值
你可能是想在前台直接判断,可以做,不推荐这样做
相关文章:
1. mysql - 数据库建表方面的问题?2. javascript - angularJS指令如何暴露API给外面的controller使用?3. mysql - 我用SQL语句 更新 行的时候,发现全部 中文都被清空了,请问怎么解决?4. python - xpath提取网页路径没问题,但是缺失内容?5. javascript - IOS微信audio标签不能通过touchend播放6. javascript - 求教各位,本地HTML页面怎么在DIV中嵌套服务器上的页面内容?不用iframe。7. python-mysql Commands out of sync8. java中这个页面默认是utf-8编码的,1输出乱码可以理解,可是2就不理解了?9. [前端求职必看]前端开发面试题与答案精选_大纲10. docker不显示端口映射呢?
