使用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的变量和数据类型
Jun 03 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
Jan 06 Javascript
javascript监听页面刷新和页面关闭事件方法详解
Jan 09 Javascript
微信小程序 九宫格实例代码
Jan 21 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
Jul 13 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
Aug 14 Javascript
利用ES6实现单例模式及其应用详解
Dec 09 Javascript
vue 1.0 结合animate.css定义动画效果
Jul 11 Javascript
jQuery实现基本动画效果的方法详解
Sep 06 jQuery
Vue自定义组件的四种方式示例详解
Feb 28 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
Apr 10 Javascript
js实现3D粒子酷炫动态旋转特效
Sep 13 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
ThinkPHP中的三大自动简介
2014/08/22 PHP
php include类文件超时问题处理
2015/02/06 PHP
javascript闭包入门示例
2014/04/30 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
vue props对象validator自定义函数实例
2019/11/13 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
python计算书页码的统计数字问题实例
2014/09/26 Python
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
python装饰器初探(推荐)
2016/07/21 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
python生成器用法实例详解
2019/11/22 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
python itsdangerous模块的具体使用方法
2020/02/17 Python
web字体加载方案优化小结
2019/11/29 HTML / CSS
会计自我鉴定范文
2013/10/06 职场文书
电子技术专业中专生的自我评价
2013/12/17 职场文书
法学个人求职信范文
2014/01/27 职场文书
怎样写好自我评价呢?
2014/02/16 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
倡议书格式
2014/08/30 职场文书
五一劳动节演讲稿
2014/09/12 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
python自动化八大定位元素讲解
2021/07/09 Python
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技