angularjs-$destroy

来源:互联网 发布:疑心暗鬼动作数据下载 编辑:程序博客网 时间:2024/05/18 16:57

在Angularjs开发中,经常需要用到刷新页面内容,自己的技术不高,就想到了使用$interval的方法,定时调用API,

    let timer = $interval(()=> {        //Do something...    },1000)

但是在使用过程中,发现了一个问题,当切换路由后,发现这个$interval下的api仍然在调用,即到了其他页面这个页面的api还在调用,这一点都不符合angularjs的优化规则。

通过查阅文档,我找到了解决方法:

    $scope.$on('$detroy',() => {        $interval.cancel(timer)    })

destroydestroy我们就可以清理一些不必要的功能,优化页面。

但是我遇到了问题,我的项目是由ionic+angular开发的,当我在controller中监听$destroy不起作用,通过查阅文档,在stackoverflow找到了解决的方法。

通常我们的templates都是写在ion-view中,这个时候我们在ion-view这个DOM上添加一个属性

    <ion-view cache-view="false">        //这里是templates内容    </ion-view>

在这个情况下,使用destroy就正常了。原来说ion-view应该是默认将modal缓存起来,导致我们的$destroy不起作用了。

原创粉丝点击