angularJs踩坑

一、数组改变页面视图不更新

1、采用$scope.$apply()方法,其原理是促使当前页面从根节点开始检查数据,缺点:页面只能使用一次,且性能交差,一般用$digest()代替$apply()

2、$digest依旧无法解决,可结合定时器使用,在一段时间后再执行该代码并调用$digest()

3、如果遇到对数组的编辑,依旧无法利用上面方法解决,其原因是因为该框架的data本身会生成一个rowId,如果rowId没有变化,该条数据并不会更新,因此可以先手动删除该条rowId,然后赋值给一个全新的数组,最后再结合定时器与$diget()将这个全新的数组赋值给绑定的数组,原理:创造新的数组,生成新的rowId

二、数组经过forEach循环后里面内容会改变

现象:某个页面绑定的数组经过forEach循环后,数组的值发生了变化

原因:其框架对脏数据的检测存在问题

解决方法:利用一个新数组去循环

三、angular页面传值接收参数的两种方式

a.通过url接收,url:'/newlist/:id'

b.通过params接收,params:{id: null}

Guess you like

Origin blog.csdn.net/Anna_lhy/article/details/131723952