使用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 CSS修改学习第六章 拖拽
Feb 19 Javascript
改变javascript函数内部this指针指向的三种方法
Apr 23 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
Jan 28 Javascript
js为什么不能正确处理小数运算?
Dec 29 Javascript
javascript事件处理模型实例说明
May 31 Javascript
js实现百度搜索提示框
Feb 05 Javascript
vuejs事件中心管理组件间的通信详解
Aug 09 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
Mar 15 Javascript
vueScroll实现移动端下拉刷新、上拉加载
Mar 22 Javascript
JavaScript原型继承和原型链原理详解
Feb 04 Javascript
vue+springboot实现登录验证码
May 27 Vue.js
vue 把二维或多维数组转一维数组
Apr 24 Vue.js
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
PHP 程序授权验证开发思路
2009/07/09 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
javascript 写类方式之十
2009/07/05 Javascript
html数组字符串拼接的最快方法
2009/09/16 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
Python 列表理解及使用方法
2017/10/27 Python
python模块导入的方法
2019/10/24 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
简述DNS进行域名解析的过程
2013/12/02 面试题
经管应届生求职信
2013/11/17 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
考生诚信考试承诺书
2014/05/23 职场文书
诚信贷款承诺书
2014/05/30 职场文书
个人违纪检讨书
2014/09/15 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
会计岗位职责
2015/02/03 职场文书
保送生自荐信范文
2015/03/26 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
python操作xlsx格式文件并读取
2021/06/02 Python