微信小程序开发2——页面逻辑文件
一、注册页面
在小程序整体的json文件中需要用到页面“pages”,如下文中的"mypages/index/index"是一个后缀为js的使用JavaScript编写的文件,这个文件中需要注册页面。
"pages":[
"页面路径/文件名1",//如"mypages/index/index",无需后缀,自动保存
"页面路径/文件名2"
]
注册页面需要用到Page()函数,用于指定页面的初始数据、生命周期函数、事件处理函数等,参数为一个object对象,其属性如下:
属性 | 意义 |
---|---|
data | 页面初始数据,数据格式必须是可以转化为json格式的对象类型 |
onLoad | 生命周期函数,页面加载时触发,一个页面只会调用一次 |
onShow | 生命周期函数,页面显示时触发,每次打开页面都会调用一次 |
onReady | 生命周期函数,页面初次渲染完成时触发,一个页面只会调用一次,表示当前页面已经准备妥当 |
onHide | 生命周期函数,页面隐藏时触发 |
onUnload | 生命周期函数,页面卸载时触发 |
onPullDownRefresh | 页面相关处理函数,用户下拉时触发,需要app.json中将enablePullDownRefresh设置为true |
onReachBottom | 页面上拉触底事件的处理函数 |
其他 | 开发者可以将任意的数据添加到object参数中,可以用this访问这些函数和数据 |
示例代码如下:
var app = getApp();
Page({
data:{
//页面初始化数据
},
onLoad:function(){
//页面加载时执行
},
onShow:function(){
//页面打开时执行
},
onReady:function(){
//页面渲染时调用
},
//后几个函数使用类似
//其他函数定义:
fun:function(){
//函数体
},
myData:{
//数据
}
}
);
小程序初始化时默认页面入栈,依次触发onLoad,onShow,onReady函数;页面返回时页面出栈并卸载,直到目标页面;切换菜单时出栈但不卸载,触发onLoad,onShow,onReady函数,如果已经加载,则只触发onShow方法;前台到后台触发onHide函数,后台到前台触发onShow函数。
二、获取当前页面所在栈
var pages = getCurrentPages();
三、事件处理函数
以发生了点击事件为例:
WXML文件中:
<view bindtap="fun">点击执行逻辑层文件</view>
需在page函数中定义:
var app = getApp();
Page({
fun:function(){
//函数体
}
}
);
四、关于JavaScript
JavaScript是一门面向对象的程序设计语言,于java十分相似,区别并不大,主要用于前端开发逻辑层的编写。
一些总结: