使用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 动态扩展对象之另类视角
May 25 Javascript
JavaScript 代码压缩工具小结
Feb 27 Javascript
JavaScript中判断原生函数检查function是否是原生代码
Sep 09 Javascript
JQuery菜单效果的两个实例讲解(3)
Sep 17 Javascript
Javascript闭包与函数柯里化浅析
Jun 22 Javascript
微信小程序开发探究
Dec 27 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
May 07 Javascript
20行js代码实现的贪吃蛇小游戏
Jun 20 Javascript
详解require.js配置路径的用法和css的引入
Sep 06 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
Jan 12 Javascript
详解vue文件中使用echarts.js的两种方式
Oct 18 Javascript
vue中datepicker的使用教程实例代码详解
Jul 08 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
php利用header函数实现文件下载时直接提示保存
2009/11/12 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
使用JS监听键盘按下事件(keydown event)
2019/11/07 Javascript
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
简明 Python 基础学习教程
2007/02/08 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
使用Python来开发微信功能
2018/06/13 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
用Python实现读写锁的示例代码
2018/11/05 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
英国排名第一的停车场运营商:NCP
2019/08/26 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
经典导游欢迎词大全
2014/01/16 职场文书
收银员岗位职责
2014/02/07 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
优秀团员自我评价范文
2014/04/23 职场文书
品德评语大全
2014/05/05 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
2015年社区纪检工作总结
2015/04/21 职场文书
吴仁宝观后感
2015/06/09 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书