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快速检测浏览器对CSS3特性的支持情况
Sep 26 Javascript
JS子父窗口互相操作取值赋值的方法介绍
May 11 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
Nov 15 Javascript
jquery、js操作checkbox全选反选
Mar 12 Javascript
jquery制作LED 时钟特效
Feb 01 Javascript
jQuery实现加入购物车飞入动画效果
Mar 14 Javascript
jquery表单验证插件validation使用方法详解
Jan 20 Javascript
JavaScript获取中英文混合字符串长度的方法示例
Feb 04 Javascript
vue router+vuex实现首页登录验证判断逻辑
May 17 Javascript
ES10 特性的完整指南小结
Mar 04 Javascript
Vue程序调试的方法
Jun 17 Javascript
JavaScript中交换值的10种方法总结
Aug 18 Javascript
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中如何调用用户自定义函数
2013/08/06 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
浅析Ajax语法
2016/12/05 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
JavaScript RegExp 对象用法详解
2019/09/24 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
python连接MySQL数据库实例分析
2015/05/12 Python
浅析Python中signal包的使用
2015/11/13 Python
深入浅析python继承问题
2016/05/29 Python
Python分析学校四六级过关情况
2017/11/22 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
解读python logging模块的使用方法
2018/04/17 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
pycharm永久激活超详细教程
2020/10/29 Python
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
《美丽的公鸡》教学反思
2014/02/25 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
小学生交通安全寄语
2015/02/27 职场文书
2016年记者节感言
2015/12/08 职场文书
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python
Spring中的@Transactional的工作原理
2022/06/05 Java/Android