wepy框架的API的预加载$preload这功能阔以喔
优势:比 url 传递、或是 storage 、或是 globalData 更方便
1:如 url 不能直接传一个 Object 要传的又要序列化与反序列化操作,麻烦(普通的单个变量还是挺便捷简单实在的)
2:如 storage 也麻烦,又要set 到用的时候还要 get
3: globalData 来虽然比上面两种貌似更有优势,但是这个交互的数据挺大,整天挂载在globalData,同时挂载上后去到那个页面能访问的到(别人说可以设置null,即使这样还不是 多以key在globalData上)
但是很多的preload数据只是单一渲染后就不要,也没有必要挂载在 globalData 上,所以本人觉得 $preload 大有用处
$preload 使用
A页面preload数据
注意:先 preload 再进行页面路由跳转,编程序路由跳转啊,
不要使用给navigator组件绑定点击事件preload啊
data = {
preloadData: {
name: 'Hello',
age: '18'
}
};
methods = {
navigateToBPage() {
this.$preload('preload', preloadData) //先
wepy.navigateTo({
url: `/pages/b/b?sourcePage=${this.sourcePage}`
});
} //后
};
// 'preload' 自己命名一个想要的有意义的变量名就好
// preloadData 数据格式,根据自己需求定义
B页面接收
//必须在 onLoad 钩子函数才可以接收到
// options 为 url 的参数
// preloadData 为上个页面 preload 过来的
// 具体打印 出来 查看 preloadData 具体是什么
onLoad(options, preloadData) {
if (preloadData.preload && preloadData.preload.name) {
cosole.log('拿到A页面preload过来的数据了:', preloadData.preload);
}
};
假如是A页面的组件触发的,那preload就要变通一下,方法有可以多种的
//1: 直接定义组件的methods的方法里面
methods = {
navigateToBPage() {
this.$parent.$preload('preload', preloadData) //先
wepy.navigateTo({
url: `/pages/b/b?sourcePage=${this.sourcePage}`
});
} //后
};
//***********************************************************
//2:使用组件的通讯交互
methods = {
navigateToBPage() {
this.$emit('emit_parent_preload', preloadData);
}
};
//$emit一个事件出去,触发父页面preload
//A页面在events定义:
events = {
emit_parent_preload(preloadData) {
this.$preload('preload', preloadData);
wepy.navigateTo({
url: `/pages/b/b?sourcePage=${this.sourcePage}`
});
}
}
我个人在使用 wepy框架开发小程序,是挺喜欢用 prelaod 与路由导航的 API 这样结合方式传递数据的!
看到这里,不放你也使用,试一试......
wepy框架的API的预加载$preload这功能阔以喔的更多相关文章
- ASP.NET MVC3 Razor 调试与预加载
目录(?)[-] 获取服务器信息 FormsAuthenticationSlidingExpiration 属性 MVC3预加载 在ASP.NET MVC3开发中,调试中怎么也是不可缺少的,那对于 ...
- javascript设计模式实践之代理模式--图片预加载
图片的预加载就是在加载大图片前,先显示一个loading.gif,就算在网络比较慢的时候也能让人知道正在加载,总比啥反应都没有强. 下面这段代码就是预加载的一个简单的实现,假设先不处理加载图片时的on ...
- jquery.imgpreload.min.js插件实现页面图片预加载
页面分享地址: http://wenku.baidu.com/link?url=_-G8miwbgDmEj6miyFtjit1duJggBCJmFjR2jky_G1VftD9eS9kwGOlFWAOR ...
- 使用HTML5的页面资源预加载(Link prefetch)功能加速你的页面加载速度
不管是浏览器的开发者还是普通web应用的开发者,他们都在做一个共同的努力:让Web浏览有更快的速度感觉.有很多已知的技术都可以让你的网站速度变得更快:使用CSS sprites,使用图片优化工具,使用 ...
- 【原创】从零开始搭建Electron+Vue+Webpack项目框架(五)预加载和Electron自动更新
导航: (一)Electron跑起来(二)从零搭建Vue全家桶+webpack项目框架(三)Electron+Vue+Webpack,联合调试整个项目(四)Electron配置润色(五)预加载及自动更 ...
- AngularJS进阶(三十)AngularJS项目开发技巧之图片预加载
AngularJS项目开发技巧之图片预加载 绪 项目(移动端采用Ionic 框架)开发完毕,测试阶段发现移动APP首页的广告图片(图片由服务器端返回相应url地址)很难加载,主要原因还是网速.如下图左 ...
- mui webview 预加载
所谓的预加载技术就是在用户尚未触发页面跳转时,提前创建目标页面,这样当用户跳转时,就可以立即进行页面切换,节省创建新页面的时间,提升app使用体验.mui提供两种方式实现页面预加载. 方式一:通过mu ...
- js图片预加载
图片预加载有大体有几种方式 1.html标签或css加载图片. 显而易见我们使用img标签或者通过标签的background-image属性都可以实现图片的预加载.但是为了避免初次载入过多图片影响体验 ...
- spine实现预加载(一)
前言 本文实现了spine动画的预加载,解决在战斗等大量加载spine动画的时候出现卡顿现象. 这里使用和修改三个类,直接修改的源码,当然你也可以继承LuaSkeletonAnimation,自己封装 ...
随机推荐
- AARRR:互联网创业者一定要掌握的指标
创业公司如何做数据分析?网站分析工具里的指标千百种,到底要从哪些数据入手呢?除了流量跟转换率,还有哪些数据跟公司成长有关呢?或许可以从了解AARRR Metrics开始.AARRR Metrics是由 ...
- C#基础篇之语言和框架介绍
1.如何描述C#和.NET的关系? .Net的是平台,C#是为了微软公司为了.NET平台开发的面向对象语言. 2.C#能做什么? (1)C#.NET做窗体应用开发,Web开发中可以通过WCF编写Web ...
- 使用短信猫读取短信java代码
短信猫简单配置:https://www.cnblogs.com/Big-Boss/p/9699880.html 测试发送短信代码:https://www.cnblogs.com/Big-Boss/p/ ...
- minicom不能连arm-linux开发板的问题终于解决了!
前一段时间一直有个问题困扰着我,大概是一次重新编译过kernel之后, gentoo上的minicom就不能和windows和开发板通信了. 为了解决这个问题,我把glibc/kernel/minic ...
- python_传递任意数量的实参
'''def name(*args): #python创建一个空元组,将收到的所有值都封装在这个元组中 """打印所有姓名""" for i ...
- Spring注解+Axis2开发WebService
用Spring注解方式: 配置扫描指定包下的类 <context:component-scan base-package="包名" /> 标识类为spring管理的 ...
- WinServer-IIS-svg/woff/woff2字体 404错误
问题:最近在IIS上部署web项目的时候,发现浏览器总是报找不到woff.woff2字体的错误.导致浏览器加载字体报404错误,白白消耗了100-200毫秒的加载时间. 原因:因为服务器IIS不认SV ...
- POJ——T 3159 Candies
http://poj.org/problem?id=3159 Time Limit: 1500MS Memory Limit: 131072K Total Submissions: 33328 ...
- java string遇到的一个奇葩bug
String abc = "1"; HashMap<String, String> hMap = new HashMap<String, String>() ...
- HDOJ find the safest road 1596【最短路变形】
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...