发表于: 2017-02-24 23:30:50
2 1259
今天做的事
今天主要是学习了angular的foreach方法和过滤器
完成了三级联动只能显示对应省市地区
明天计划
编辑页面或者模态框按钮
收获以及困惑
在完成过滤器的时候学习了foreach方法
angular的foreach例子
var objs =[{a:1},{a:2}];
angular.forEach(objs, function(data,index,array
do sth
});
其中第一个参数objs就是要被便利的数组对象
data就是每个被便利的对象,亦是ARRAY【index】
array也是需要遍历的集合,每次遍历时都会把objs原样的传一次。
不过后两个参数可以不写
因请求数据时返回的是123,然后要显示出对应的文字
所以想用filter来做
而filter里面则用到这个方法
使用时把请求过来的数字传进filter里,然后在它里面的函数里
执行angular的这个方法,他会便利对象的每一个属性,
若看到某个对象的id与数字相对应,则重新赋值为对象的name,将他返回即可
而有一个请求过来的值是数组,我在使用filter时是先把他循环一遍,然后再在里面执行一次
foreach,虽然能用,但是感觉这个方法并不好,
因为angular foreach方法会遍历每一个属性,无论对错,一路到底
这样在数组内容特别大的时候就会出现性能问题,比如省市的那个内容就非常多
想要让它找到内容就停止,可以这样
var keepGoing = true;
angular.forEach([0,1,2], function(count){
if(keepGoing) {
if(count == 1){
keepGoing = false;
}
}
});
这样就可以达到效果,不过此时并不是跳出了循环本身,而是之后都是空循环
相当于什么事情都没有发生,不会执行复杂的操作,变相的提升了性能
今天最主要的困惑时github突然又炸了,无法commit,没法直接解决
想到的解决办法只能是先备份然后重新拉一次再覆盖了
评论