
微信小程序开发个人心得与总结(基础)
本次的微信小程序开发简单来说还算顺利,因为毕竟后台有经验老道的大牛加持,因为项目组的其他成员以前也都没有接触过微信小程序开发,或多或少有过了解,但是没有真正的上手体验过,那就暂时让我这个菜鸟给个位讲讲我这次开发的心得与经验,废话不多说,进入正题。
首先,开发微信小程序需要使用一个编辑器,也就是微信开发者工具:
下面给大家讲一下几个重要目录的用途:
这个app.js就是全局的js文件,了解vue的话,可以理解为他是index.js,有着相同的功能,这里面可以放一些全局的属性。
app.json这个文件比较有意思,他是放全局的配置的,比如小程序的头部以及底部,都可以用app.json配置,但是也并不是唯一配置的地方,当你添加一个页面的时候,每个页面都有一个json文件。这里面我们的tabbar就实在app.json配置的。
app.wxss是全局的样式文件,project.config.json是小程序的配置文件。
pages目录是这个小程序的总目录,images和libs可以按照个人喜好放文件。
这四个文件也没有什么好介绍的了。
下面给大家介绍一下小程序登录以及请求接口拿数据渲染逻辑:
首先,在请求我们的登录接口之前,我们需要通过wx.login()获取code,通过wx.request()请求后台接口将code传给后台,后台拿到code去请求微信官方的接口拿到openid和session_key返给前端,用作判断设备的唯一标识,然后我们拿到openid就可以带着账号密码登录了(不知道说的大家能不能懂,哈哈!!!其实大部分都在后台)。
需要注意的是,因为微信小程序是单项数据绑定的,当我们拿到input框的数据后,每次都需要setData()一下,不然没法给data{}中的数据赋值,这一方面感觉有点拉啊,像用惯了vue的v-model,简直是致命的打击。
拿input的值可以通过bindinput拿到输入框的数据:
数据绑定:
wx:if和wx:for也就是相与vue的v-if和v-for也就是判断和循环,渲染data中的数据直接使用{{xxxx}}就行了。
点击事件:
bindtap与catchtap(catchtap可以阻止冒泡)
总的来说,微信小程序开的很完善,各种toast,model,loading都封装好了,可以配合请求接口时直接调用,可以参照微信开发者文档。点击查看
在请求接口方面,微信官方也封装好了,直接使用wx.request()请求就行了,在这里说明一下,无论是请求接口还是显示toast,loading都是可以使用回调的(成功与失败的回调),这样方便加入很多的操作。
然后就是微信小程序的一些钩子函数了:
以及一些特殊事件,比如上拉,下拉操作触发函数:
这里要特别注意,一定要在json中加入这样一行代码,不然上拉触底是没法触发的:
通过这些钩子和特殊事件就可以自己发挥了。
进阶一下,微信小程序wxml中不能直接使用函数,这可怎么办,这简直是不能忍,渲染数据和格式数据很多地方都要用到函数筛选,不用急,soeasy!,微信小程序有自己的wxs,可以引入,对数据进行操作,但是wxs和js还是有点去别的,比如es6好多都用不了,wxs搞得和js基本一毛一样,但是又不能完全使用js的东西,那不是让我们抓狂吗!
先到这里了。。。。。。还要学习的 很多。