支付宝小程序

1.新建页面最好用编辑器自带的,自己写的话注意页面的初始化,容易产生报错模糊不明确

2.app.xcss是全局的样式,page里面的样式只对当前的页面有效,并且可以覆盖掉app.xcss

3.app.js按需加载,不会默认执行,首先执行的是index.js

const app = getApp();
onLoad(){
    app.getUserInfo();//index内的方法
}

4.页面跳转传参

my.redirectTo({ url: '../houseDetail/houseDetail?id=' + that.data.id });
onLoad: function(options) {
  const id = options.id;      
}

5.框架以栈的形式维护了当前的所有页面。

my.navigateTo vs my.redirectTo ———打开页面

my.navigateBack()———返回页面

调用navigateTo跳转时,调用该方法的页面会被加入堆栈,redirectTo方法则不会。

6.ios VS 安卓(及时关注后续版本是否修复)

a.搜索框(输入框),安卓点击确认(键盘上的确认键)会触发onComfirm,ios点击前进(键盘上的按钮)不会触发

设置onBlur事件,如果页面还要其他事件,

(那么onBlur事件设置延迟,点击到其他可点击的按钮则把延迟关闭,正常进行即可)

h.选择城市确认返回的时候,ios会多执行一次onShow里面的方法

my.chooseCity()

分辨用户是ios还是安卓api:my.getSystemInfo()

(c.切换应用时ios会刷新,安卓不会)

7.开关

a.默认states有一个切换的过程,在数据请求里面设一个开关,开关打开在一起显示页面,页面未显示的时候放上加载动画。

b.在点击’获取验证码’时,表单提交的时候等等,为了不让用户重新点击,在此方法中一开始需要将其设置为不可点击,就是说用户点击过一次就让其不可再点了

8.返回列表刷新,在onshow里面进行相应的操作,onload在回退的时候不再执行,只有在首次进入该页面时执行。

9.在定时器中,this是会指向全局对象的,并不会指向当前对象

Var that = this;

setInterval(that.timer.bind(that),1000)

10.地图在模拟器上无法查看(不调取点标注等高级的API等方法是可以查看的),需要真机调试,地图坐标点不能超过30个,地图页面显示的层级最高,不能加任何元素,通过修改控制器加一些图片进去。