最近在使用Anjular开发一款Android应用程序,吐槽时间【各种苦逼啊!】。
其中用到了webView的loadUrl实现java层与页面的交互,自己写了一个service来处理java层上传的一些数据,而service中声明的函数基本上都是注册的回调,都是在相应的controller中进行注册使用的,这样如果在退出相应页面的时候,如果不对注册的函数回调进行置空的话,会导致回调中使用的$scope不能被销毁。
从而导致每次从java层回调的一些数据要改变页面上的数据时,不能更新成功。【因为回调中使用的$scope上旧的$scope,而当前页面真实使用的是再次进入页面时新分配的$scope】。【-大招来临--】
解决方法: 在controller的beforeLeave中,将service中注册的回调函数置空。
【呼呼,因为这个问题,折腾了半天,希望能帮助到你。!!!】
【既然选择做一个程序猿,就要有猴子的觉悟】