在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 实战 单页模式下的多页面数据同步的更多相关文章

  1. wex5 实战 省市县三级联动与地址薄同步

    无论是商城,还是快递,都要用到省市县三级联动,和地址薄,今天就以实战来制作,难点有3个: 1:三级联动,有wex5组件实现,相对简单,实战里对行数据进行了拼接 2:  地址薄选项,利用inputSel ...

  2. CentOS7下rsync服务端与Windows下cwRsync客户端实现数据同步配置方法

    最近需求想定期备份服务器d盘的数据到Linux服务器上面,做个笔记顺便写下遇到的问题 以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的bat脚本 和整过一个Linux下的r ...

  3. ASP.NET Core 一步步搭建个人网站(6)_单页模式和优化

    前言 HI,有段时间没有更新了,主要因为第一年前事情比较多,有些事得忙着张罗下:第二呢,对个人网站进行了一次大范围的优化,主要是申请的云服务器资源有限,1m的网络带宽,带上图片展示的话,打开网站的平均 ...

  4. wex5 实战 框架拓展之2 事件派发与data刷新

    一 前言 讲完公共data,相信大家对框架级的data组件级绑定有了更新的认识,接下来我们继续深入,以求研究明白wex5的框架能力. 在一个web项目中,其实有一个data, 是基础框架必须的data ...

  5. Python接口测试实战1(下)- 接口测试工具的使用

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  6. SNF开发平台WinForm之一-开发-单表表格编辑管理页面-SNF快速开发平台3.3-Spring.Net.Framework

    1.1运行效果: 1.2开发实现: 1.2.1          首先在数据库中创建需要开发的数据表,在代码生成器中进行配置连接数据库. 代码生成器的Config.xml文件配置如下节点: 1.2.2 ...

  7. 【转】移动Web单页应用开发实践——页面结构化

    1. 前言 在开发面向现代智能手机的移动Web应用的时候,无法避免一个事实,就是需要开发单页应用(Single Page WebApp).对于不同的系统需求,单页应用的粒度会不同,可能是整个系统都使用 ...

  8. 移动Web单页应用开发实践——页面结构化

    1. 前言 在开发面向现代智能手机的移动Web应用的时候,无法避免一个事实,就是需要开发单页应用(Single Page WebApp).对于不同的系统需求,单页应用的粒度会不同,可能是整个系统都使用 ...

  9. 微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新、分享、阅读标识

    下拉更新.分享.阅读标识 本文配套视频地址: https://v.qq.com/x/page/h0554i4u5ob.html 开始前请把 ch3-4 分支中的 code/ 目录导入微信开发工具 这一 ...

随机推荐

  1. Python traceback【转】

    1. Python中的异常栈跟踪 Python,在2.x中,异常对象可以是任何对象,异常对象和异常栈是分开的.python中用于处理异常栈的模块是traceback模块,它提供了print_excep ...

  2. Java集合类源码学习- Iterabel<T>,Colection<E>,AbstractCollection<E>

    Collection<E>接口extends Iteratable<E>接口. Iteratable<T>:实现接口使得对象能够成为“for-each loop”的 ...

  3. CentOS 创建SVN 服务器,并且自动同步到WEB 目录

    CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报  分类: ...

  4. 掌握Thinkphp3.2.0----视图

    我们将要学习一下 ThinkPHP 视图,视图是 Web 的可见内容,一般是 HTML结合 PHP 获取的数据提供给用户使用的部分,属于 MVC 中的 V 一. 模版定义 默认的模版文件定义规则:视图 ...

  5. 判断浏览器类型用 document.documentMode方式,

    if ( document.documentMode && document.documentMode < 9 ){ document.write( '<script sr ...

  6. UIKit的外观属性及方法汇总

    本文授权转载,作者:楚天舒(简书) 开发中经常会碰到要设置UI的某个生僻的外观属性,虽然在头文件中都能查到,但一是每个控件的头文件比较分散繁杂,二是每个头文件里有太多不用到的方法和属性,所以这里将UI ...

  7. 视图UIView的大小和位置属性详解

    UIView类中定义了三个属性,分别是frame.bounds与center属性: IKit中的坐标系X轴正方向为水平向右,Y轴正方向为竖直向下. frame属性指的是视图在其父视图坐标系中的位置与尺 ...

  8. C语言如何开发简单的插件

    linux 通过dlopen来实现: #include "polygon.h" #include <stdlib.h> #include <dlfcn.h> ...

  9. java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12

    最近使用Android Studio开发一个新项目,刚做完几个界面,跑在android 5.0上面很正常,因为都是挺简单的布局,本以为应该不存在兼容性问题(Flag啊). 偶然用了一个4.x的实机测试 ...

  10. 添加APNS通知

    1.进入苹果开发者官网developer.apple.com,点击member center,进入登录界面. 2.输入你的开发者账号和密码,登录后会跳转到“Select your team”这个界面. ...