微信小程序开发注意点

本文总结了微信小程序开发过程中的关键点,包括页面注册、页面栈限制、文本复制、this作用域、字符串转Date对象、事件冒泡、按钮样式、tab跳转、分享功能、隐藏分享按钮、滚动条处理、文字装饰、网络问题、自定义字体、背景图片、input长度限制、textarea问题、scroll-view使用、cover-view和cover-image特性、live-player和live-player问题、键盘与输入框间距、循环渲染、dataset属性、视频标签黑边、swiper问题、canvas层级、海报和二维码、缓存管理、组件传值、页面滚动、window配置、网络请求超时、图片设置、正则验证、tabBar跳转、背景色设置和换行空格等细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 开发小程序时,每个页面一定要在app.json文件中注册,页面文件夹和其包含的四个文件的名字要保持一致。

二、.五层页面栈限制

小程序最多只能打开5个页面,当打开页面的个数达到5个以后,wx.navigateTo不能正常打开新的页面,请避免层级过多的交互方式,或使用wx.redirectTo重定向

三、text允许复制用的是css控制的, 也就是:

user-select: none;
-webkit-user-select: none;


四、this作用域分析

1.在Page({})里面,this关键字指代Page({})整个对象
2.因此可以通过this关键字访问或者重新设置Page({})里data的变量
3.然而在loadData函数中使用了wx.request({})API这个方法导致在wx.request({})里没办法使用this来获取Page({})对象
4.虽然在wx.request({})里没法使用this获取Page({})对象,但是可以在wx.request({})外面先把this存在某个变量中,所以就有了var that =this 这个声明。此时that指代Page({})整个对象,这样子就可以在wx.request({})里使用that访问或者重新设置Page({})里data的变量


 五、js中,字符串转Date对象,应同时考虑安卓和苹果

错误:let startTime = new Date('2021-10-18 23:00:00').getTime();

正确:

let startTime = new Date('2021/10/18 23:00:00').getTime();

或者
let startTime = new Date('2021-10-18 23:00:00'.replace(/-/g, '/')).getTime();

六、阻止事件冒泡。

小程序里也存在事件的冒泡,具体的冒泡事件可以参考官方文档,如果希望事件向上冒泡,则使用bind来绑定事件,若希望阻止事件冒泡,就使用catch来进行事件绑定。

bindtap: 元素绑定事件,父节点绑定事件会冒泡
catchtap: 不会冒泡,仅在当前元素触发

例:

<view class='A' bindtap='funcA'>
  <view class='B' catchtap='funcB'></view>
</view>

七、去掉Button的默认边框

button::after{
  border: none;
}或者
button{
    position: static;
}

八、tab跳转

在同一个tab里的页面可以跳转,并且允许携带参数。不同tab的页面之间无法跳转,使用wx.navigateTo()接口会报错。同时,tab之间的跳转可以用wx.switchTab()实现,但是路径后不能带参数。

九、在组件标签里,可以通过“data-属性值”的方式绑定我们需要的数据,然后在事件内置event对象里进行获取。

十、分享按钮

目前小程序可以分享给微信好友和微信群,但小程序默认是没有这个功能的,只有在Page里定义了onShareAppMessage事件处理函数,点击小程序右上角才可以看到分享按钮。

有两种方式:

①右上角菜单的「转发」按钮时触发的事件wx.onShareAppMessage(function callback)

②通过给 button 组件设置属性 open-type="share",可以在用户点击按钮后触发 Page.onShareAppMessage 事件

分享到朋友圈

  • shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮
  • 显示“分享到朋友圈”按钮时必须同时显示“发送给朋友”按钮,显示“发送给朋友”按钮时则允许不显示“分享到朋友圈”按钮

示例代码:

一般写在页面的onLoad

wx.showShareMenu({
  withShareTicket: true,
  menus: ['shareAppMessage', 'shareTimeline']
})这样“分享到朋友圈”按钮就会显示

分享到朋友圈时参数等的绑定:
 // 转发至朋友圈

  onShareTimeline : function (res) {

    ret

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值