960 次预览 |

2022-07-18 06:31:57

珠海小程序开发可能会遇到的坑

字跃网络在这里分享一下记忆中遇到的珠海小程序开发过程中的问题

开发中会遇到的问题千奇百怪,这里也只是字跃网络有记载的局部问题,或者对你来说基本算不上是问题,但是这里字跃网络还是想记载一下,欢送赐教哦


1、小程序开发中的getAPP()

getApp() 函数是用来获取 app 实例的函数,普通状况下没啥问题,但是在几个特殊小程序开发的场景下它会给你带来意想不到的 bug。

在 app.js 中的 onLaunch 回调函数中运用

// app.js
App({
 onLaunch() {
  console.info(getApp(), '!!');
 }
});


你会发现小程序开发时分会输出 undefined ,这其实能够了解,毕竟这个时分还在初始化阶段,app 还没出生。假如代码仅仅是这么简单的话,那你能够很容易的发现这个问题,一旦你在小程序开发其中调用了一个办法,而这个办法又不当心在获取 app 实例来获取变量,那不测就产生了。


2、页面滑动后,切换底部tab时,影响其他页面位置-珠海字跃网络小程序避坑指南

剖析:这是由于小程序开发不同的tab页面其实是公用的一个页面,只是不同的组件之间的切换,所以页面滑动后切换组件时也会受影响。

处理思绪:经过页面滚动事情,在切换时将滚动高度置为0



3、抖音小程序跳转直播间功用-珠海字跃网络小程序避坑指南

以下示例参考字节小程序开发文档

tt.openWebcastRoom(options)
//提供从小程序跳转到直播间的能力。仅支持抖音 APP。
参数说明
options 为 Object 类型,属性如下:
属性名	      类型	  默认值 必填	说明	 最低支持版本
streamerId	string	  --	否	主播 id	1.87.0
success  	function  --	否	接口调用成功的回调函数	1.87.0
fail	   function	  --	否	接口调用失败的回调函数	1.87.0
complete	function  --	否	接口调用结束的回调函数(调用成功、失败都会执行)	1.87.0

回调成功
参数为 Object 类型,属性如下:
参数	参数类型	说明	最低支持版本
errMsg	string	回调信息	1.87.0

回调失败
参数为 Object 类型,属性如下:
参数	参数类型	说明	最低支持版本
errNo	number	错误码	1.87.0
errMsg	string	错误信息	1.87.0

代码示例:
<input
	value="{{streamerId}}"
	bindinput="changeStreamerId"
	placeholder="请输入主播id">
</input>
<button type="default" size="default" bindtap="openWebcastRoom">跳转直播</button>

Page({
  data: {
    streamerId: "",
  },
  changeStreamerId(e) {
    this.setData({
      streamerId: e.detail.value,
    });
  },
  openWebcastRoom(e) {
    tt.openWebcastRoom({
      streamerId: this.data.streamerId,
      success(res) {
        console.log("调用成功", res);
      },
      fail(res) {
        console.log("调用失败", res);
      },
    });
  },
});


4、小程序分页功用-珠海字跃网络小程序避坑指南

完成思绪:开发小程序的分页功用主要是指下拉加载功用,下拉时改动央求数据的分页数据,把数据中止追加到数据列表里面

主要应用的事情是:

onReachBottom()

监听用户上拉触底事情。