wex5 实战 单页模式下的多页面数据同步
在wex5官方教程中,关于多页模式与单页模式进行了对比。两者最大的区别在于:
1 web加载速度,单页模式快于多页模式
2 多页模式对加载机制进行了预加载,一次加载之后再次加载,就会加快。
但是,由于项目需要,多页模式无法满足我对全局变量的绑定属性的获取(大家看我全局可观察变量博文),所以对页面进行了全部重构,重构之后,web加载的响应速度大大提高,没有了明显的卡顿感。但是,也带来了更严重的问题,页面数据不同步。
起先以为是坑,其实是对页面的加载机制不了解。
先看一下不同步的情况:
新增一条发货单
返加首页,问题来了,货单没有刷新,没有新增
这就是我们今天要着手解决的问题。首先告诉大家,解决之道很简单,简单到想都想不到。关键是,我们今天以解决方法和思维模式为重点。
二 解决思路:
1,先判断data有没有新增。
方法简单,先放到modeLoad里,发现,只能加载一次!!!加载后再从别的页面回来,也不行。
也就是说,别的页面新增或删除修改再跳转回来,modeLoad里的方法只执行一次。
手动加一个按钮,看下,data有没有新增,再来试一下:
悲剧发生了,手动刷新,居然也不能刷新data,条数还是5条!!!!
在单页模式里,小项目也有几十个页面,页面单换来换去,如果有数据操作,其它页面不能响应,数据不同步, 这个项目,估计没法再往下进行了。
但是,我发现,每次web重启动后,data就自动刷新到了最新状态。难道是页面刷新问题?
2 页面刷新
首先想到了window.location.reload().
一试,泪崩,整个web重新启动了。不行。
3. div刷新
群里很多朋友问div刷新的问 题,估计也是想强制刷新页面内容。
不行。
4.windownDialog刷新
本来用的单页模式,再装回到多页模式,多此一举。
一次次的测试,死的心都有了。明明data数据更新了,非要刷什么页面呢?
data更新?
data更新?
再回到原点想问题,想想,还有哪里能时实接收数据????
想想
想想
想到了页面传参与收参paramsReceive
对,就是这个。
三 页面同步方法
1 在页面半闭时,传参,用于触发目标页面的参数接收动作
2 目标页面,接参,并刷新data
再来测试,data和list同步进行了响应和更新。
之前用了很长时间来刷页面,刷list,刷div,刷窗口,再如此处理,好像白学了。没想到解决方法这么简单。关键是打到问题的根源和实质,需要时间和大量测试。
四 总结:
1 学会分步测试
2 modelParamsRecive具有实时性,无论什么时候跳转至页面,它都在modeload之前进行,只要有参传进来,就能触发。充分利用这一点,可以让data数据实时刷新。
wex5 实战 单页模式下的多页面数据同步的更多相关文章
- wex5 实战 省市县三级联动与地址薄同步
无论是商城,还是快递,都要用到省市县三级联动,和地址薄,今天就以实战来制作,难点有3个: 1:三级联动,有wex5组件实现,相对简单,实战里对行数据进行了拼接 2: 地址薄选项,利用inputSel ...
- CentOS7下rsync服务端与Windows下cwRsync客户端实现数据同步配置方法
最近需求想定期备份服务器d盘的数据到Linux服务器上面,做个笔记顺便写下遇到的问题 以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的bat脚本 和整过一个Linux下的r ...
- ASP.NET Core 一步步搭建个人网站(6)_单页模式和优化
前言 HI,有段时间没有更新了,主要因为第一年前事情比较多,有些事得忙着张罗下:第二呢,对个人网站进行了一次大范围的优化,主要是申请的云服务器资源有限,1m的网络带宽,带上图片展示的话,打开网站的平均 ...
- wex5 实战 框架拓展之2 事件派发与data刷新
一 前言 讲完公共data,相信大家对框架级的data组件级绑定有了更新的认识,接下来我们继续深入,以求研究明白wex5的框架能力. 在一个web项目中,其实有一个data, 是基础框架必须的data ...
- Python接口测试实战1(下)- 接口测试工具的使用
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- SNF开发平台WinForm之一-开发-单表表格编辑管理页面-SNF快速开发平台3.3-Spring.Net.Framework
1.1运行效果: 1.2开发实现: 1.2.1 首先在数据库中创建需要开发的数据表,在代码生成器中进行配置连接数据库. 代码生成器的Config.xml文件配置如下节点: 1.2.2 ...
- 【转】移动Web单页应用开发实践——页面结构化
1. 前言 在开发面向现代智能手机的移动Web应用的时候,无法避免一个事实,就是需要开发单页应用(Single Page WebApp).对于不同的系统需求,单页应用的粒度会不同,可能是整个系统都使用 ...
- 移动Web单页应用开发实践——页面结构化
1. 前言 在开发面向现代智能手机的移动Web应用的时候,无法避免一个事实,就是需要开发单页应用(Single Page WebApp).对于不同的系统需求,单页应用的粒度会不同,可能是整个系统都使用 ...
- 微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新、分享、阅读标识
下拉更新.分享.阅读标识 本文配套视频地址: https://v.qq.com/x/page/h0554i4u5ob.html 开始前请把 ch3-4 分支中的 code/ 目录导入微信开发工具 这一 ...
随机推荐
- Python traceback【转】
1. Python中的异常栈跟踪 Python,在2.x中,异常对象可以是任何对象,异常对象和异常栈是分开的.python中用于处理异常栈的模块是traceback模块,它提供了print_excep ...
- Java集合类源码学习- Iterabel<T>,Colection<E>,AbstractCollection<E>
Collection<E>接口extends Iteratable<E>接口. Iteratable<T>:实现接口使得对象能够成为“for-each loop”的 ...
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报 分类: ...
- 掌握Thinkphp3.2.0----视图
我们将要学习一下 ThinkPHP 视图,视图是 Web 的可见内容,一般是 HTML结合 PHP 获取的数据提供给用户使用的部分,属于 MVC 中的 V 一. 模版定义 默认的模版文件定义规则:视图 ...
- 判断浏览器类型用 document.documentMode方式,
if ( document.documentMode && document.documentMode < 9 ){ document.write( '<script sr ...
- UIKit的外观属性及方法汇总
本文授权转载,作者:楚天舒(简书) 开发中经常会碰到要设置UI的某个生僻的外观属性,虽然在头文件中都能查到,但一是每个控件的头文件比较分散繁杂,二是每个头文件里有太多不用到的方法和属性,所以这里将UI ...
- 视图UIView的大小和位置属性详解
UIView类中定义了三个属性,分别是frame.bounds与center属性: IKit中的坐标系X轴正方向为水平向右,Y轴正方向为竖直向下. frame属性指的是视图在其父视图坐标系中的位置与尺 ...
- C语言如何开发简单的插件
linux 通过dlopen来实现: #include "polygon.h" #include <stdlib.h> #include <dlfcn.h> ...
- java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12
最近使用Android Studio开发一个新项目,刚做完几个界面,跑在android 5.0上面很正常,因为都是挺简单的布局,本以为应该不存在兼容性问题(Flag啊). 偶然用了一个4.x的实机测试 ...
- 添加APNS通知
1.进入苹果开发者官网developer.apple.com,点击member center,进入登录界面. 2.输入你的开发者账号和密码,登录后会跳转到“Select your team”这个界面. ...