微信小程序开发常见问题(四)
知晓程序员,专注微信小程序开发的程序员!
一、小程序不同页面之间的传值方式
a、URL传值
这种方式最常用,比如:
wx.navigateTo({
url: '../detail/detail?cid='+cid+'&access_token='+access_token
})
这里面直接通过跳转页面的URL进行传值,然后在另一个页面进行接收:
onLoad: function (opt) {
console.log('cid =' + opt.cid);
console.log('access_token =' + opt.access_token);
}
这种传值方式只适合值比较少的时候使用,传值比较多的时候,还是建议写本地缓存~
b、本地缓存
小程序API提供了本地缓存数据的API,默认可以缓存10M的数据,如下:
wx.setStorageSync('checkin', checkin);
checkin是一个object,在需要的页面直接调用wx.getStorageSync即可获取,这样就解决了传值较少的问题了。
c、全局APP
其实还有第三种方式,就是全局APP变量。app.js和app.wxss中的代码都是全局生效的,所以我们可以利用这一点儿,在不同页面之间进行传值。
App({
onLaunch: function () {
},
globalData: {
host: 'https://api-xcx-qunsou.weiyoubot.cn/xcx',
// 版本升级时这里的version加1并替换versionFeature的文案即可
version: 2,
versionFeature: '更新说明'
}
})
也可以在其他JS里面动态修改globalData,如getApp().globalData.host = 'XXX';
二、textarea的键盘BUG
有同学可能会遇到这个问题:show-confirm-bar='false'设置不生效,导致键盘还带有“完成”按钮,预期效果是没有“完成”button~
这个值如果要设置为true的话随便输入就可以了,但是如果是要设置false的话就需要设置变量或者留空:
show-confirm-bar='' 或者 show-confirm-bar='{{showConfirm}}'
三、小程序中如何生成分享小程序码
官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/qrcode.html
(微信小程序官方文档不支持搜索,这真是太TM坑人了~)
文档大家自己去看吧,我们需要注意以下几点:
1、通过该接口,仅能生成已发布的小程序的二维码。
2、可以在开发者工具预览时生成开发版的带参二维码。
3、接口A加上接口C,总共生成的码数量限制为100,000,请谨慎调用。
4、POST 参数需要转成 json 字符串,不支持 form 表单提交。
5、auto_color line_color 参数仅对小程序码生效。
另,今天下午微信小程序官方发布重大消息:
1、小程序支持打开APP了
2、小程序标题栏,想变就变
看到这两条消息后,先想到的是:
1、能否在小程序中直接打开支付宝红包?目前从官方介绍中没发现可以这样做,看有没有哪家小程序搞出点儿名堂~
2、小程序标题栏可以变化之后,是否可以像APP里开屏广告一样,全屏展示广告?tabbar可能是个坑人的地方~
- 百篇(5):FeignClient 在不同场景中的应用
- 如何使用Hue上创建一个完整Oozie工作流
- MySQL远程代码执行/权限提升漏洞的分析与实践(CVE-2016-6662)
- 如何在CDH集群上部署Python3运行环境及运行Python作业
- Hacking Aria2 RPC Daemon
- 如何修改CDH集群的DataNoe节点HOSTNAME
- Sparkjava Framework 文件遍历漏洞(CVE-2016-9177)分析与探究
- 绕过混合内容警告 - 在安全的页面加载不安全的内容
- 如何在Kerberos环境使用Flume采集Kafka数据并写入HDFS
- 熊市里生成几个BTC靓号,冷存储起来装死吧
- 傲游浏览器漏洞系列(上)- 任意文件写入,UXSS
- 如何使用Cloudera Manager在线为集群减容
- GitLab 任意文件读取漏洞 (CVE-2016-9086) 和任意用户 token 泄露漏洞
- 如何使用Hue通过数据文件创建Collections
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Nginx 限制资源的访问
- 如何设计一个秒杀系统
- Linux下登录凭证窃取技巧
- kali修改root密码
- PPT画成这样,述职答辩还能过吗?
- 详解 Cookie,Session,Token
- SSM 单体框架 - 前端开发:课程和广告模块
- 80 行 Python 代码写个图形计算器
- 近期对libatapp的一些优化调整(增加服务发现和连接管理,支持yaml等)
- SSM 单体框架 - 前端开发:用户和权限模块
- Cnitch:一款Docker引擎运行进程权限检测工具
- SAP Spartacus BrowserPlatformLocation的初始化逻辑
- 重启 CentOS 7 系统后的 IP 地址问题
- SSM 单体框架 - 前端开发:用户权限控制,Nginx 和项目部署与发布
- 用 Python 制作飞机大战小游戏