● 1 要区分一下一个新的页面的业务逻辑适合放在onload里面去做请求还是适合在onshow里面去请求数据。
● 2 页面的各种请求可以放到onShow 中,这样的话可以从返回上一个页面时,上一个页面的数据进行重新加载,以便于获取最新的数据; 同时也可以避免wx.getCurrentPage来取数据。
● 3 每个页面中的data 数据,尽量使用对象的方式,可以设置多个属性值。避免以后维护过程中不知道每个变量的含义。
● 4 获取用户输入的内容,尽量用bindinput ,验证的时候使用bindblur。
● 5 数据分页加载的功能,其实是声名一个空数组,这个空数组carlist就是页面的数据列表,每次请求到的数据,利用数组的concat() 方式将新请求到的数据跟之前的数组链接起来,形成分页加载的效果,如果请求的数据是空,则显示到底了,如果第一次请求数据就是空,则显示时暂无数据; 这样不以依据默认的carlist.length==0来显示暂无数据图片造成的闪现。
● 6 把JS功能封装成单独的模块,不要再放在同一个common中。为了以后方便迁移和结构的升级。
● 7 公共样式也要进行封装,避免后期太多、太乱。
● 8 每个页面要对上一个页面的传值就行验证,避免因为传值不对造成功能不能使用或者页面崩溃的情况。
● 9 开发的过程中,首页对整个业务流程进行构思,根据业务流程开发,一定要合理安排好每个业务的功能模板中最核心的业务,核心模板不仅仅涉及个人,还关系到测试方面,甚至其他人的进度工作。
● 10 能用一个页面的 ,尽量整合成一个页面。比如:详情页和sku。甚至以后的活动页面。
● 11 对于已经加载到底的图标,由于图片和文字两边各有一个”---------”,可以用两个空盒子,然后设置border-top的方式形成两边的横线。
● 12 所有的按钮都要有交互反馈。确保让用户能感受到我确实点击了按钮。
● 13 所有的按钮,尤其是提交类型的按钮,最好都要进行单击次数的限制,目的是为了避免数据的重复提交,在交易网站中的目的是避免重复下单。
● 14 所有的数据下载或上传的时候,预加载效果不仅仅是个样式,也是保证每次的数据能够有时间上传或者下载的过程。
● 15 确保git 中的代码与最新项目版本能够有一套完全相同的,同时也要预估好线上项目突发机制,另外确保项目再git 中有各个历史版本,确保项目如果有突发风险,可以及时利用上一个版本进行替换,不至于导致项目无法使用;但是最好是检查好,不要出现突发情况。
● 17 首先要想到的并且加入到项目的首要功能是版本更新机制,比如小程序的版本更新机制,原因:可能因为版本不及时更新导致很多不良后果;另外版本号要在上线项目中表明,以便于进行区分工作。
● 18 每次修改一个内容,都要看一下是否把原本没问题的流程影响了,导致bug
● 19 代码上线前,一定要审核是否有相关的重要代码被注销了,否在带来的后果是不堪设想的。
● 20 代码发布时一定要考虑到有一个版本,保证核心业务流程能够不受影响的正常使用。
● 2 页面的各种请求可以放到onShow 中,这样的话可以从返回上一个页面时,上一个页面的数据进行重新加载,以便于获取最新的数据; 同时也可以避免wx.getCurrentPage来取数据。
● 3 每个页面中的data 数据,尽量使用对象的方式,可以设置多个属性值。避免以后维护过程中不知道每个变量的含义。
● 4 获取用户输入的内容,尽量用bindinput ,验证的时候使用bindblur。
● 5 数据分页加载的功能,其实是声名一个空数组,这个空数组carlist就是页面的数据列表,每次请求到的数据,利用数组的concat() 方式将新请求到的数据跟之前的数组链接起来,形成分页加载的效果,如果请求的数据是空,则显示到底了,如果第一次请求数据就是空,则显示时暂无数据; 这样不以依据默认的carlist.length==0来显示暂无数据图片造成的闪现。
● 6 把JS功能封装成单独的模块,不要再放在同一个common中。为了以后方便迁移和结构的升级。
● 7 公共样式也要进行封装,避免后期太多、太乱。
● 8 每个页面要对上一个页面的传值就行验证,避免因为传值不对造成功能不能使用或者页面崩溃的情况。
● 9 开发的过程中,首页对整个业务流程进行构思,根据业务流程开发,一定要合理安排好每个业务的功能模板中最核心的业务,核心模板不仅仅涉及个人,还关系到测试方面,甚至其他人的进度工作。
● 10 能用一个页面的 ,尽量整合成一个页面。比如:详情页和sku。甚至以后的活动页面。
● 11 对于已经加载到底的图标,由于图片和文字两边各有一个”---------”,可以用两个空盒子,然后设置border-top的方式形成两边的横线。
● 12 所有的按钮都要有交互反馈。确保让用户能感受到我确实点击了按钮。
● 13 所有的按钮,尤其是提交类型的按钮,最好都要进行单击次数的限制,目的是为了避免数据的重复提交,在交易网站中的目的是避免重复下单。
● 14 所有的数据下载或上传的时候,预加载效果不仅仅是个样式,也是保证每次的数据能够有时间上传或者下载的过程。
● 15 确保git 中的代码与最新项目版本能够有一套完全相同的,同时也要预估好线上项目突发机制,另外确保项目再git 中有各个历史版本,确保项目如果有突发风险,可以及时利用上一个版本进行替换,不至于导致项目无法使用;但是最好是检查好,不要出现突发情况。
● 17 首先要想到的并且加入到项目的首要功能是版本更新机制,比如小程序的版本更新机制,原因:可能因为版本不及时更新导致很多不良后果;另外版本号要在上线项目中表明,以便于进行区分工作。
● 18 每次修改一个内容,都要看一下是否把原本没问题的流程影响了,导致bug
● 19 代码上线前,一定要审核是否有相关的重要代码被注销了,否在带来的后果是不堪设想的。
● 20 代码发布时一定要考虑到有一个版本,保证核心业务流程能够不受影响的正常使用。
● 21 事件对象中target属性和currentTarget属性区分?
解答:target属性 是个对象,指的是触发事件的源组件,而currentTarget属性表示的是当前组件。通常情况下两者都是一致的,但是当组件嵌套时,外层组件和内层组件都绑定了事件,当内层的组件绑定的事件触发时,外层的这两个属性便会不一样。target则指向内层组件,currentTarget则指向外层组件。
● 22文件导入有三种方式?
解答:①当导入模板文件时使用的是<import src="模板文件路径' />;②使用<include src="源文件路径" />,本方法会导入除去模板文件外所有的资源;③@import "wxss样式文件路径"; 以此方法导入需要的样式文件。
● 23 微信小程序提示授权弹窗,如果用户第一次点击拒绝之后,一段时间将不会再次弹出来,然后用户又不知道什么原因用不了小程序,这是个很糟糕的用户体验,我们应该优雅的处理这种情况
● 24 小程序问题
- 不支持跳转外部链接
text
可以解析/n
,- 目前不支持识别图中二维码,
- 背景图片不能用本地图片,
wx.navigateTo
需要跳转的应用内非 tabBar 的页面的路径wx.switchTab
跳转到tabBar页面,wx.showToast()
,icon
只支持success
和loading
,但是支持image
,且image
优先级高于icon
-
tabBar
页面AnavigatorTo
到页面B,然后BswitchTab
到A,这里A会执行onShow()
;
但是我再从A跳到B再switchTab
回来,A就不会再执行onShow()
了 - 在json文件中没有写内容的时候也要加一对大括号{ },不然的话也会报错
- .我们使用app.json文件来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 的时候在pages中写注释的时候回报错。
- 小程序button按钮自带边框效果,而且直接设置border无法去掉,需要设置:after的样式
- 正常事件绑定使用的是bindtap,但是该方法无法阻止事件冒泡,这样就会触发父元素绑定的事件,小程序提供另一种方法来解决该问题,使用catchtap事件替换bindtap即可;