前端干久了,难免会被老板抓壮丁去搞微信小程序。一开始以为这玩意儿就是套了壳的 Vue,真上手去官网下了个开发者工具才发现,它的标签语法、生命周期甚至连 CSS 名字(WXSS)全是一套独立的体系,搞得人晕头转向。
跌跌撞撞总算摸透了它最基础的套路,整理了一份傻瓜式的入门笔记,下次再有新项目要开荒,直接拿这篇来抄作业就行了。
1. 长什么样?文件结构摸底
一个小程序页面,不想 Vue 那样全写在 .vue 一个文件里,它非要拆成四个文件,强迫症看着是挺整齐的:
1 | ├── app.js # 全局的老大,小程序一启动就跑这里 |
2. 第一关:把底部导航栏(TabBar)搞出来
通常做个 App 第一步就是配底下那几个按钮,去全局的 app.json 里面加个 tabBar 节点就行了,图片自己去下点小 icon 扔进去:
1 | { |
3. 第二关:页面怎么写?(WXML vs HTML)
忘了你的 <div> 和 <span> 吧,微信不吃这一套,他们自己造了词:
<div>变成了<view><span>变成了<text><img>变成了<image>
写数据绑定的时候倒是很亲切,也是双花括号,但有些细节极其容易踩坑:
1 | <!-- 插变量一样是两片大括号 --> |
4. 第三关:数据怎么变?(让人头疼的 setData)
这是从 Vue 转过来最难受的地方。Vue 里 this.name = '铁柱' 页面就更新了,在小程序里,你这样改页面理都不理你,必须老老实实用原生的 setData:
1 | Page({ |
5. 第四关:网络请求怎么发?
小程序里没有内置 axios,发请求用它自带的 wx.request,写法很古老,一般我会自己用 Promise 粗略封装一层扔在 utils/request.js 里:
1 | const BASE_URL = 'https://api.mywebsite.com' |
然后在页面里就可以舒服地用了:
1 | import { request } from '../../utils/request' |
6. 一些高频 API 速查
经常用到,但我脑子经常短路忘掉拼写的几个 API:
1 | // 页面怎么跳? |
总结下来,小程序的门槛其实不高,只要你习惯了它那套 setData 和不按套路出牌的 HTML 标签,基本上写两天就能熟练干活了。不说了,去对付老板的新需求了。
评论加载中…