(这篇文章还是大学的时候在简书上写的,因为是简书那边阅读量最多的一篇了,所以就只把它迁移过来这边了,嘿嘿嘿~~)

话说有点神奇的微信应用号出来了,就好奇跟风看看微信小程序到底是怎样的吧,网上教程暂时不是很多,不过微信官方的开发者文档非常详细,基础的基本够用了,菜鸟也不会做什么,只会简单的计算器。。

demo动态图(GitHub地址:https://github.com/Tiquiero/wxapp-calculator)

02

微信小程序的的各种写法相对于传统前端更简单,高度封装了,就按照他们的规范来写就行,因为没有内测权限,目前的微信小程序都是在开发者工具的模拟器中运行的。

文件类型:xxx.wxml , xxx.wxss , xxx.js , xxx.json

xxx.wxml 和xxx.wxss

这两个文件几乎等同于前端中的HTML和CSS文件,wxml是微信自己开发的一套标记语言,界面构建都是在这个文件里编写,只是没有HTML标签了,只有wxml标签了,而wxml标签数量也是很少的。wxss是微信自己开发的一套样式文件格式,等同于我们的CSS文件,写法也是一样的,只是换了个文件后缀,以前我们怎么写CSS的在微信小程序中我们依然怎么写。

03

04

xxx.js和 xxx.json

xxx.js文件就是写js的地方,每个xxx.js对应一个同名的xxx.wxml文件,xxx.js文件必须有Page对象。输入关键词Page后微信Web开发者工具会自动生成一些列空方法待你实现,当然你可以不实现,只是把你把骨架搭好而已。

05

06

xxx.josn文件就是配置文件,一般是全局配置才用,比如根目录的app.josn,定义了小程序由哪些页面构成,小程序导航Bar样式等,属性看名字就知道什么意思了。

07

pages属性配置的是页面,位置第一个就是启动页,所有页面都必须在这里配置,如果你建了一个页面千万千万别忘记在这里添加了,因为到时候页面跳转的时候onLoad方法不会执行,这坑爬了好久。。。

08

整体结构

一个页面是一个文件夹,通常都有js、wxml、wxss,wxml和js文件是必须的,可以有没有样式。index(小程序首页、启动页),calc(计算器页面)、history(历史记录)、logs(日志信息)、utils(js工具类),logs和utils是自带的,可以有可以没有。

09

代码部分

用CSS Flexbox布局,貌似微信官方也是这么推荐的(官方文档中就是使用Flexbox)。

计算器的按键,都是用标签来做的,加上wxss样式即可,当然也可以直接用button组件。

10

这里bindtap,看名字就知道是用来绑定事件的,跟我们在HTML中使用onclick一个道理。id=双大括号中的值来自js文件中data属性定义的同名属性。

11

wxss就没什么好说的了,唯一需要注意的是微信提供了一个尺寸单位rpx,responsive pixel ,可以根据屏幕宽度进行自适应,官网文档有详细解析

12

主要涉及API

wx.navigateTo,导航,跳转,在当前页面打开新页面

13

Storage,本地存储,保存计算历史记录用到了,它有setStorage、getStorage,同时还有带Sync结尾的异步方法(setStorageSync,getStorageSync)

14

Tips

1.每新建一个页面一定要记得去app.josn的pages属性中添加,不然的话使用navigateTo跳转到新页面后新页面的onLoad方法不会执行。

2.微信小程序中没有window等JavaScript对象,所以在写js前想好替代方案,本来使用js的eval函数可以方便的计算表达式,结果没法用,只能另找帮助。

3.微信小程序中的js并不是真正的js,wxss也并不是真正的CSS,所以写的时候还是要注意一下。

4.本计算器存在不完善和bug,因为重点不是实现全部功能,而是搞清楚微信小程序开发方法,所以非关注点不用在意。