微信小程序值得注意的几点

关于路由:

对于要跳转到一般业务页(非菜单tabbar页),A页跳B页

  1. 想要将当前页A添加进页面栈,即可以通过点击小程序左上角从B页返回A页;使用wx.navigateTo(Object object)
  2. 不将当前页A添加进页面栈,从B页返回时将返回到A的上一页;使用wx.redirectTo(Object object)

关于第二点的业务实例:列表页点击跳转某条数据详情页,详情页可返回列表,详情页可通过页面按钮跳转到下一条数据的详情页;此时列表页跳转到详情页使用wx.navigateTo(),详情页跳转到下一详情页使用wx.redirectTo();以达到从任何详情页进行一次回退就可返回列表页的目的;

跳转到tabbar页,使用wx.switchTab(Object object)

 

关于页面生命周期:

  1. 页面上方Page实例化方法上方的代码会在页面初次引用时执行一次,之后不管是页面跳转还是页面回退都不会再执行,故页面上方的代码不能理解为在业务加载之前的初始化代码,因为不是每次业务代码执行之前都会调用;在page上方定义的变量可以作为当前页面内的全局变量;
  2. onLoad页面加载事件,在页面从其他页通过路由跳转过来时会执行,若通过回退回到当前页,则onload中事件不执行;
  3. onShow页面显示事件,无论是路由跳转还是页面回退,事件都会执行,且在onLoad事件之后;

若有每次进入当前页,重新执行的业务需求,可考虑将业务代码在onShow中调用;另一种方法是将业务写在onLoad事件中,在onShow事件中执行this.onLoad(),这种方法在页面初次请求时业务会执行两次;

 

关于表单页中input和textarea的使用

input和textarea不要使用bindinput 事件,在事件里用setData修改页面data,会出现奇怪的现象;

若想在表单提交时获取这两种控件的值,可考虑使用form的提交事件,通过控件的name属性获取填入值;

还有一种思路是input和textarea使用bindblur 事件, 在事件里用setData;这种情况若操作完input或 textarea,直接点击按钮提交数据的话,表单提交时bindblur 事件还未触发;

 

其他还没碰到什么值得记录的,先这样吧;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值