小程序踩坑合集

2019-06-21  本文已影响0人  江疏影子
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 的坐标

上一篇下一篇

猜你喜欢

热点阅读