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 写类方式之十
Jul 05 Javascript
js客户端快捷键管理类的较完整实现和应用
Jun 08 Javascript
jquer之ajaxQueue简单实现代码
Sep 15 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
Jan 04 Javascript
针对初学者的jQuery入门指南
Aug 15 Javascript
JS实现图片上传预览功能
Nov 21 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
Nov 25 Javascript
详解js的异步编程技术的方法
Feb 09 Javascript
vue-cli webpack 开发环境跨域详解
May 18 Javascript
使用Promise封装小程序wx.request的实现方法
Nov 13 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
Jan 21 Javascript
js中复选框的取值及赋值示例详解
Oct 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进行MySQL删除记录操作代码
2008/06/07 PHP
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
解析php取整的几种方式
2013/06/25 PHP
php判断linux下程序问题实例
2015/07/09 PHP
mapper--图片热点区域高亮组件官方站点
2007/12/22 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件
2015/12/20 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
JS实现图片居中悬浮效果
2017/12/25 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
Vue利用canvas实现移动端手写板的方法
2018/05/03 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
python的几种开发工具介绍
2007/03/07 Python
学习python的前途 python挣钱
2019/02/27 Python
django框架auth模块用法实例详解
2019/12/10 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
医科大学生的自我评价
2013/12/04 职场文书
大学生关于奋斗的演讲稿
2014/01/09 职场文书
股权投资意向书
2014/04/01 职场文书
公务员爱岗敬业演讲稿
2014/08/26 职场文书
让生命充满爱观后感
2015/06/08 职场文书
mysql 子查询的使用
2022/04/28 MySQL