Angular懒加载机制刷新后无法回退的快速解决方法


Posted in Javascript onAugust 30, 2016

今天在项目中遇到一个很奇怪的问题,使用oclazyload懒加载angular的模块,刷新页面后,单击回退按钮无法返回上一个页面.估计是使用懒加载机制销毁了angular内部的state关联,导致无法回到上一个state(单击回退按钮 ui-routre的 $stateChangeStart 事件都不会触发),当然这只是猜测,由于事件关系也没有去深入的探究源码.

angular懒加载机制刷新后无法回退的解决方案 :

通过查看angular(ionic)的源码发现$browser这个服务上有个onUrlChange方法,当我们从angular外部改变url地址时,会调用此方法中注册的事件处理函数,如下图所示:

Angular懒加载机制刷新后无法回退的快速解决方法

这样的话,就可以在程序入口注册一个函数

//当通过浏览器回退/前进按钮跳转state时,重新加载页面,如果用系统state,则不会进入此方法 
$browser.onUrlChange(function (url) { 
//TODO 解析url中的state,使用懒加载去加载state模块,实现页面刷新
});

通过这个函数就可以在回退和前进的时候重新去刷新页面了...

以上所述是小编给大家介绍的Angular懒加载机制刷新后无法回退的快速解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript入门教程(5) js Screen屏幕对象
Jan 31 Javascript
js 判断checkbox是否选中的实现代码
Nov 23 Javascript
Jquery 数组操作大全个人总结
Nov 13 Javascript
推荐4个原生javascript常用的函数
Jan 12 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
Dec 03 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
Dec 17 Javascript
原生JS实现ajax与ajax的跨域请求实例
Dec 01 Javascript
mpvue全局引入sass文件的方法步骤
Mar 06 Javascript
详解关于React-Router4.0跳转不置顶解决方案
May 10 Javascript
Vue 2.0 侦听器 watch属性代码详解
Jun 19 Javascript
vue3.0生命周期的示例代码
Sep 24 Javascript
vue自定义组件实现双向绑定
Jan 13 Vue.js
AngularJS 实现弹性盒子布局的方法
Aug 30 #Javascript
浅谈javascript中的Function和Arguments
Aug 30 #Javascript
javascript 中的console.log和弹出窗口alert
Aug 30 #Javascript
Laravel中常见的错误与解决方法小结
Aug 30 #Javascript
js中常用的Tab切换效果(推荐)
Aug 30 #Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
Aug 30 #Javascript
JavaScript探测CSS动画是否已经完成的方法
Aug 30 #Javascript
You might like
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
仿百度输入框智能提示的js代码
2013/08/22 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
微信小程序页面间跳转传参方式总结
2019/06/13 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
在Django的模型中添加自定义方法的示例
2015/07/21 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
Python标准库之collections包的使用教程
2017/04/27 Python
python中的闭包函数
2018/02/09 Python
Win8下python3.5.1安装教程
2020/07/29 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
2020/02/15 Python
澳大利亚排名第一的露营和户外设备在线零售商:Outbax
2020/05/06 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
小学教育毕业生自荐信
2013/11/18 职场文书
中学生自我鉴定
2014/02/04 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
副总经理岗位职责
2014/03/16 职场文书
投资入股协议书
2016/03/22 职场文书