使用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 相关文章推荐
jQuery 表格工具集
Apr 25 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
May 06 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
Oct 17 Javascript
一个JavaScript处理textarea中的字符成每一行实例
Sep 22 Javascript
Ajax中解析Json的两种方法对比分析
Jun 25 Javascript
JQ技术实现注册页面带有校验密码强度
Jul 27 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
Oct 01 Javascript
javascript中类的定义方式详解(四种方式)
Dec 22 Javascript
详解js的视频和音频采集
Aug 09 Javascript
JavaScript错误处理操作实例详解
Jan 04 Javascript
layui table 获取分页 limit的方法
Sep 20 Javascript
jquery+ajax实现异步上传文件显示进度条
Aug 17 jQuery
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
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
php过滤危险html代码
2008/08/18 PHP
基于PHP读取csv文件内容的详解
2013/06/18 PHP
ThinkPHP CURD方法之order方法详解
2014/06/18 PHP
php实现微信公众号无限群发
2015/10/11 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
ajax 文件上传应用简单实现
2009/03/03 Javascript
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
Python ldap实现登录实例代码
2016/09/30 Python
python人民币小写转大写辅助工具
2018/06/20 Python
详解基于django实现的webssh简单例子
2018/07/17 Python
Python-ElasticSearch搜索查询的讲解
2019/02/25 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
python的scipy实现插值的示例代码
2019/11/12 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
HTML5几个设计和修改的页面范例分享
2015/09/29 HTML / CSS
Html5页面二次分享的实现
2018/07/30 HTML / CSS
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
彩妆大赛策划方案
2014/05/13 职场文书
2015年林业工作总结
2015/05/14 职场文书
紫日观后感
2015/06/05 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js