微信小程序开发常见问题(四)

时间:2022-05-03
本文章向大家介绍微信小程序开发常见问题(四),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

知晓程序员,专注微信小程序开发的程序员!

一、小程序不同页面之间的传值方式

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可能是个坑人的地方~