在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数据实时刷新。

最新文章

  1. JavaScript 中 Number()、parseInt()、parseFloat()的区别
  2. hibernate映射文件
  3. fir.im Weekly - 如何用 iPad 创造技术生产力
  4. windowsAzure模拟器错误
  5. memcached 源码阅读笔记
  6. sql 复杂自动编号错误批量修改方案
  7. Ubuntu下安装vmware 9.0 + 注册码
  8. 【矩阵压缩】 poj 1050
  9. ucos2.86的任务调度漏洞
  10. ubuntu svn下载代码出错
  11. 【实用】【移动端】Retain屏1px解决方案
  12. 【Java基础】【19异常&IO(File类)】
  13. C代码通过编译器编译成可执行文件, 需经历 预处理、编译、汇编、链接 四个阶段
  14. js的字符串代码库及讲解
  15. Vue Loader
  16. google gson
  17. Jmeter常用脚本开发之Debug Sampler
  18. spring源码学习(一)
  19. 使用MVVM设计模式构建WPF应用程序
  20. HDU 4417 BIT or ST

热门文章

  1. 将f2fs文件系统到磁盘
  2. tjkd-html
  3. [skill][gdb] gdb 多线程调试
  4. 如果让你来做HashMap扩容,如何实现在不影响读写的情况下扩容?
  5. redis3.2新增属性protected mode
  6. 延时调用的php代码
  7. CLion 2016.2.2 注册激活码
  8. DWR实现后台推送消息到web页面
  9. 移动应用抓包调试利器Charles
  10. 3个著名加密算法(MD5、RSA、DES)的解析