小程序随笔
很久没写过笔记一类的东西了,从刚开始的996持续半年,直到最近,刚好这几天有空,顺便总结一下开发小程序的一些心路历程。
在这里呢顺便打个广告,小程序名字叫“一拍即传”。
最近半年多呢一直在开发小程序,其实小程序跟传统的web开发是极其相似的,当然也有不少不同的点,接下来 进入正题:
一开始学习小程序的第一步当然是看官方文档咯。
首先 先说说结构部分,结构部分的代码 当然跟传统的H5语法一样
在这里,H5 与 小程序的相同点 与 不同点,想必作为前端也一目了然了,同样的语法,不同的标签,比如图中 view 标签类似于 H5里面的div标签。
text标签 类似于 span一类的 常用的放置文案的标签。 image相当于强化版的img标签。
当然从图中,观众朋友们也能看到 除了标签不一样以外,有的标签上的属性 也是H5中没有的,例如image上面的 mode ,用于规定图片填充和裁剪的方式。
hidden =“{{something}}” 是否隐藏此元素,somthing为true时隐藏。变量通过{{}}括起来,使用过某某前端框架的朋友看见这种语法是不是很熟悉呢?
再比如 view上的 hover-class 点击态样式, 在这里就不具体挨个赘述了,文档上有很详细的描述,一个点举一个例子就行了。
view 上的 bindtap 当然顾名思义了 绑定点击事件。
js部分:
import {something} from "where" // 这个大家一定很熟悉了 Page({ data:{//data里的变量可直接绑定到页面结构上,理同上图中的errorView something:'', errorView:false } //下面是页面所需要用到的方法 onLoad(){ //to do something this.setData({ something:'我是页面所需的数据,可同过setData来修改' }) } todosomething(){ let test = 222 } })
在上面中的 onLoad 大家肯定注意到了,接下来看看小程序的生命周期:
onLaunch:小程序初始化
onLoad: 页面加载时
onReady:页面渲染完成时 (我个人在项目中的使用频率不高)
onShow:页面显示时
onHide:页面隐藏时
onUnload:页面卸载时
在这里呢 有的盆友可能有些疑问,onShow 和 onLoad 的区别?
在第一次进入A页面时,onLoad onReady onShow 都会执行
在实际业务场景下,经常存在从下一个页面,返回到上一个页面的情况。
wx.navigateTo(OBJECT):保存当前页面,跳转到小程序内某个页面 //使用频率较高
注意了:通过navigateTo是会保存当前页面的,当A->B 再从B->A回来的时候 就会执行 onShow里面的代码 而不会执行onLoad里面的代码。
通常情况下 onLoad 经常伴随着 onShow,但 onShow的时候 onLoad不一定会触发。
样式部分:
与传统的css 几乎没有差别,当然,单位上的使用还是有差异的 -----rpx(rpx的具体意思 请查阅官方文档)
文件结构:
上图有个home.json
微信小程序是可以修改小程序的标题栏样式(例如背景色,字体色) 页面名称的,甚至包括是否允许下拉刷新行为
app.json
是对整个小程序全局的一些配置
{ //对于要使用的页面必须注册 "pages": [ "pages/home/home", "pages/login/login" ], "window": { //设置默认页面的窗口表现 "backgroundTextStyle": "#FFF", //下拉背景字体、loading 图的样式 "navigationBarBackgroundColor": "#FFF", //背景 "navigationBarTitleText": "一拍即传", //导航栏标题文字内容 "navigationBarTextStyle": "black", //导航栏标题颜色 "onReachBottomDistance": "500", //页面上拉触底事件触发时距页面底部距离,单位为px "enablePullDownRefresh": false //设置下拉刷新 }, "networkTimeout": { "request": 20000, //wx.request的超时时间,单位毫秒,默认为:60000 "connectSocket": 20000, //wx.connectSocket的超时时间,单位毫秒,默认为:60000 "uploadFile": 20000, //wx.uploadFile的超时时间,单位毫秒,默认为:60000 "downloadFile": 60000 //wx.downloadFile的超时时间,单位毫秒,默认为:60000 } }
来达到圆图的效果,在这种情况下,安卓手机上 首次进入页面时,设置过border-radius的图片,在加载时 是方的,渲染完成后是圆的,四个角会闪一下,这个过程大概在0.4s左右。
textarea组件是个好东西
上一篇: 删除同目录下面txt文件(利用os,fnmacth模块)
下一篇: Css 分类 属性 选择器