小程序开发中遇到的问题

小程序开发


浏览:1259 次

下面是我在小程序项目中遇到的一些问题的记录。(如有新问题需补充)

1.微信小程序的文本标签,相当于span标签,在使用时不能断线,否则内容也会断线。

2.除了继承样式之外,app wxss中的样式和组件所在页面的样式对于自定义组件无效。该解决方案可以参考官方文档来设置外部样式类或使用自定义组件的全局样式类。参考链接如下:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html

3.小程序的mashup语法不支持js方法,即在页面标记中,以下js方法无效,Object keys()到字符串()indexOf()因此,当页面需要上述方法时,可以在相应页面的js中处理它们,并返回页面可以获得的值。

4.富文本可以转换后端返回的html字符串,以便在页面上显示。

5.小程序弹出层的渗透问题。描述:当弹出层出现时,底部页面将可滚动。解决方案:

(1) 当弹出窗口内容不滚动或不需要滚动时,可以定义一个方法来防止事件在遮罩层冒泡,catchtouchmove=“true”;

(2) 当弹出窗口的内容可以滚动时,您可以动态添加样式:

.无滚动{

顶部:0px;

左:0px;

宽度:100%;

高度:100%;

溢出:隐藏;

位置:固定;

z索引:0;

}

如果弹出窗口出现,请添加样式。关闭后,删除样式。

6.在图像的base64转码中遇到的问题。

起初,我用这种方法来转码,

wx.请求({

url:filePath,

方法:'GET',

responseType:“arraybuffer”,

成功:函数(res){

控制台.log(res)

}

});

在开发工具上测试没有问题,但当我将其上传到真实的机器上时,我发现报告了一个错误,提示请求:fail invalid url。最后,使用以下方法解决问题,即wx。getFileSystemManager()ReadFileSync对图像进行代码转换。

解决方案来自

7.在开发过程中,主页需要在登录时显示购物车悬停按钮,但在app中js获取令牌的时间会有问题(这可能也与手机网络有关)。因此,当使用真实机器时(开发者工具上的显示没有问题),它将不会显示。临时解决方案是设置一个计时器来询问车辆接口,以及是否有更好的方法来修改它。

8.页面跳转

(1) wx.导航到

wx.导航到({

url:“”,

成功:函数(){},

失败:函数(){},

完成:函数(){}

})

URL参数问题:无法跳转到tabBar页面;带参数的格式:路径?params=params¶ms1=params1

(2) wx。NavigateBack()关闭当前页面并返回上一页或n级页面。您可以通过getCurrentPages()获取当前页面堆栈,以决定要返回多少层。

参数:delta->Type:Number,默认值:1,Description:返回页数。如果增量大于现有页面的数量,则返回第一个页面。

(3) Wx。redirectTo(),关闭当前页面并跳转到选项卡栏以外的页面。

URL参数问题:无法跳转到tabBar页面;带参数的格式:路径?params=params¶ms1=params1

(4) Wx。reLaunch(),关闭所有页面并在app中打开一个页面。

URL参数问题:使用参数格式化:路径?params=params&Params1=Params1。如果你想跳转到tabBar页面,你不能接受参数。

(5) Wx。switchTab(),跳转到tabBar的一个页面,然后关闭所有其他非tabBar页面。

参数:目标页面必须是:app的tabBar中定义的页面。json;无法获取参数。

示例:wx。switchTab({url:“/page/index/index”})

9.添加外部图标

由于小程序的限制,当wxss引入ttf时,需要转换为base64的路径,可以用于转码。转码后,将转码后的路径复制到wxss进行导入。在此过程中可能会遇到错误,因为上述转码路径将有换行符。如果遇到错误,可以删除相关的换行符。

10.小程序录制功能

旧的录制功能wx。startRecord从基本库1.6.0开始就停止了维护。新的录制api是wx。获取记录器管理器()。用法如下。首先,获取全局唯一的录制管理器:

这记录器管理器=wx.getRecorderManager();

开始录制。有两种格式的文件,MP3和acc,可以根据需要进行配置。

this.recorderManager.start({

格式:“mp3”//如果您录制acc类型的音频,请将其更改为aac

});

结束录制:

此记录