小程序踩坑合集

1.触发事件修改data

在小程序中 触发事件的时候是不能直接调用this.setData({})来修改状态的,必须要定义一个that来保存this的指向,然后再进行修改。

2.引用其他的page

比如index引用另一个封装好的组件,首先需要在index.json文件中写入

{
  "usingComponents": {
    "sliders": "../sliders/sliders"
  }
}

然后在页面中使用<sliders></sliders>

3.video标签添加封面
<video 
  src=" " //视频的路径
  class='installVideo'
  poster=" " //封面路径 controls必须设置为ture 否则封面会失效 在手机上预览没问题,但是在开发者工具上有问题
></video>
4.wx.navigateToMiniProgram方法

打开另一个小程序

参数列表:
appid:要打开的小程序 appId
path:打开的页面路径,如果为空则打开首页。? 后面的部分会成为 query,可以在小程序生命周期函数中获取。
extraData:需要传递给目标小程序的数据,目标小程序可在 App.onLaunchApp.onShow 中获取到这份数据。

在小程序中模拟操作

第一步:添加编译形式

第二步

第三步:在app.jsonShow的生命周期函数获取

onShow:function(options){
    console.log(options)
  }

打印

5.使用video标签报渲染层网络层错误

暂时没发现特别原因,只是因为在src赋值的时候使用了https,改为了http之后就正确了

判断是否为iphonex系列手机

const that=this;
wx.getSystemInfo({
   success:function(res){
        if (res.model === "iPhone X" || res.model === "iPhone XS" || res.model === "iPhone XR" || res.model ==="iPhone XS Max"){
          that.setData({
            isIphonex:true
          })
        }
      }
    })

每个页面的分享

在建立每个page的时候会自动创建一个名为onShareAppMessage函数,有的话则可以分享,没有则不可以分享。

小程序定位
1.在app.json中写入

"permission": {
  "scope.userLocation": {
    "desc": "你的位置信息将用于小程序位置接口的效果展示" 
  }
}

2.在需要的页面中写入

wx.getLocation({
  type: 'wgs84',
  success(res) {
    const wd = res.latitude;
    const jd = res.longitude;
    that.setData({
      wd,
      jd,
    })
  }
})

type说明:wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因新工作主要负责微信小程序这一块,最近的重心就移到这一块,该博客是对微信小程序整体的整理归纳以及标明一些细节点,初...
    majun00阅读 7,429评论 0 9
  • 1.小程序起步 (1)点击https://mp.weixin.qq.com/wxopen/waregister?a...
    GXW_Lyon阅读 3,439评论 0 0
  • 微信小程序的特点 小程序是一种不需要下载、安装即可使用的应用,它出现了触手可及的梦想,用户扫一扫或者搜一下即开打开...
    Simple_3f19阅读 885评论 0 0
  • 配置文件 app.json的配置(全局) { // 用来配置页面的路径 "pages":[ "pages/inde...
    左狐偃阅读 599评论 0 0
  • 人往往是一念天堂,一念地狱。 最危险的时刻其实才是最安全的时刻。最为危险的时刻,人往往绷紧了每一根弦,步步小...
    千面花君阅读 273评论 1 0