微信小程序开发常见问题(四)
知晓程序员,专注微信小程序开发的程序员!
一、小程序不同页面之间的传值方式
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可能是个坑人的地方~
- Golang语言之defer-再议
- HDUOJ------Lovekey
- 转-带交互的telnet小工具,golang版
- 需要了解的pssh(r11笔记第28天)
- 二分查找算法基本思想
- Flyod 算法(两两之间的最短路径)
- HDUOJ-4104 Discount
- HDUOJ-----1085Holding Bin-Laden Captive!
- HDUOJ-----1098 Ignatius's puzzle
- 转--shell脚本备份mysql数据库
- NYOJ——————数的长度(斯特林公式的应用)
- 关于ssh命令的几个使用小技巧(r11笔记第27天)
- Golang语言社区--消息触发服务器启动基础模块分享
- NYOJ------汉诺塔(一)
- 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 数组属性和方法
- 短视频商城源码,商城左侧菜单栏网页模板
- 谈一谈Linux系统重要的子目录问题
- Tensorflow 2.x Java api的maven包怎么找
- Linux上也有10个流行的Windows应用程序
- (译)SDL编程入门(14)动画精灵和VSync
- 在Ubuntu Linux上安装和使用Git和GitHub
- 10个好用的 HTML5 特性
- Linux下升级python和安装pip的详解
- Linux中使用top命令的技巧
- Linux中查找工具的友好替代方案
- 使用命令行检测Ubuntu版本方法
- 一键实现 PowerBI 度量值批量重命名
- Ubuntu E: 无法获得锁 /var/lib/dpkg/lock-frontend – open (11: 资源暂时不可用)
- Ubuntu 18.04 安装MySQL时未提示输入密码的问题及解决方法
- ubuntu中修改grub的启动时间生成