收藏
评论

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

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

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 参数仅对小程序码生效。


《END》


欢迎交流小程序技术问题~

威信   mianhuabingbei



收藏

2 个评论

  • 郭玉峰 15811200580
    郭玉峰 15811200580
    2018-06-26

    你说的我都没用

    var pages = getCurrentPages(); // 当前页面  

    var beforePage = pages[pages.length - 2]; // 前一个页面  

    这样不行吗  可以用前一个页面的任何东西

    2018-06-26
    赞同
    回复
  • 胜利Apple
    胜利Apple
    2018-01-25

    可以  很厉害

    2018-01-25
    赞同
    回复
登录 后发表内容