使用Angular缓存父页面数据的方法


Posted in Javascript onJanuary 03, 2017

angular做单页面应用是一个比较好的框架,但是它有一定的入门难度,对于新手来说可能会碰到很多坑,也有许多难题,大部分仔细看文档,找社区是能解决的。

但有些问题也许资料比较少,最近遇到过一个要缓存父页面的问题,就是点击进入子页后,再返回时父页面的数据要缓存下来,包括滚动条的位置。再做的过程当中查过

许多资料,都说的不很详细,今天把方法记录下来,供参考。

要想缓存,要用到嵌套路由(ui-router):

   有三个嵌套的方法:

  1. 使用“点标记法”,例如:.state('contacts.list', {})
  2. 使用parent属性,指定一个父状态的名称字符串,例如:parent: 'contacts'
  3. 使用parent属性,指定一个父状态对象,例如:parent: contacts(contacts 是一个状态对象

嵌套路由如有不明白的,大家可以自己去google下。

1.在路由中配置好后,在父页面中设置一个子view.

路由配置:

$stateProvider
 .state('parent', {})
 .state('parent.sub',{
  url: '/flightStatus/:time',
  views:{
   'subView':{
    templateUrl: 'sub.html',
    controller: ''
   }
  }
 }
);

2.配置好后,在父页面添加view和名字(如果只有一个ui-view,名字可以不要)

parent.html

<ui-view name="subView"></ui-view>
<!--其它html代码-->
……

3.这时由父页面进去后,子页面sub.html会加载到name为subView中

   在子页面中返回时,用angular的$window.history.back();

  注意:这里返回时父页面的controller将不在执行

进行以上配置后就可以缓存到父页面的数据了,返回时不会刷新,在进入子页面时大家最好把父页面隐藏(不隐藏是把内容高度设为100%),返回时再显示,这样避免子父页面都有输入框下,按下tab时会把父页面显示的bug

以上所述是小编给大家介绍的使用Angular缓存父页面数据的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持

Javascript 相关文章推荐
JavaScript 学习笔记一些小技巧
Mar 28 Javascript
jQuery EasyUI 中文API Layout(Tabs)
Apr 27 Javascript
Angularjs制作简单的路由功能demo
Apr 14 Javascript
AngularJS获取json数据的方法详解
May 27 Javascript
Three.js实现绘制字体模型示例代码
Sep 26 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
Mar 01 Javascript
vue移动端路由切换实例分析
May 14 Javascript
Mint UI实现A-Z字母排序的城市选择列表
Dec 28 Javascript
Vue框架TypeScript装饰器使用指南小结
Feb 18 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
Sep 19 Javascript
QML实现圆环颜色选择器
Sep 25 Javascript
JavaScript实现文件下载并重命名代码实例
Dec 12 Javascript
JS实现简单的二元方程计算器功能示例
Jan 03 #Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
Jan 03 #Javascript
javascript使用递归算法求两个数字组合功能示例
Jan 03 #Javascript
jQuery仿写百度百科的目录树
Jan 03 #Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
Jan 03 #Javascript
Vue.js系列之vue-router(上)(3)
Jan 03 #Javascript
JavaScript实现自定义媒体播放器方法介绍
Jan 03 #Javascript
You might like
CI映射(加载)数据到view层的方法
2016/03/28 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
Jquery实现的角色左右选择特效
2014/05/21 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
微信小程序图片自适应实现解析
2020/01/21 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
Python 修改列表中的元素方法
2018/06/26 Python
python斐波那契数列的计算方法
2018/09/27 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
Python yield的用法实例分析
2020/03/06 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
Python with语句用法原理详解
2020/07/03 Python
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
公益活动策划方案
2014/01/09 职场文书
亲子拓展活动方案
2014/02/20 职场文书
党组织公开承诺书
2014/03/29 职场文书
信息技术国培研修日志
2015/11/13 职场文书
股权投资协议书
2016/03/23 职场文书