Part3
Part3
P39-P41 导航
导航
- 声明式导航
- 编程式导航
P39 声明式导航
通过一个 <navigator>组件实现页面跳转
- 导航到tabBar页面(被配置为tabBar)的页面:
- url=”/要跳转到的页面地址”(必须以/开头)
- open-type=’switchTab’
- 导航到非tabBar页面(没有被配置为tabBar的页面):
- url=”/要跳转到的页面地址”(必须以/开头)
- open-type:”navigate”
- 后退导航:
- open-type=”navigateBack”
- delta=”1″(表示后退的层级)
P40 编程式导航(事件处理)
通过调用小程序的导航API实现页面跳转
// 声明一个按钮,为点击事件声明一个点击事件处理函数
<button bindtap="gotoMesssage">跳转到消息页面</button>
gotoMessage(){ // 事件的内部写方法
wx.switchTab({ // 调用内部自带的API需要写到传入参数
url:'目的地址'
})
}
- wx.switchTab:导航到tabBar页面
- wx.navigateTo:导航到非tabBar页面
- wx.navigateBack:后退导航
P41 导航传参
1.声明式导航传参:(url属性的路径后面可以携带参数)
- 参数与路径之间用?分隔
- 参数键与参数值用=相连
- 不同参数用&分隔
// 例
<navigator url="/pages/info?name=zs&age=20"跳转到info页面</navigator>
// 在url后传递的name的值为zs和age的值为20
2.编程式导航传参
// WXML:
<button bindtap="goto2">跳转到info2页面</button>
// JavaScript
goto2(){
wx.navigateTO({
url="/pages/info?name=ls&gender=男"
})
}
3.onLoad中接收导航参数
onLoad:function(options){ // options为接收的页面导航参数
console.log(options) // 在控制台打印options
this.setData({x:options}) // 将接收到的参数存储到data中
}
P42 下拉刷新(页面)
- .json配置文件中,enablePullDownRefresh设置为true
P47-P49 生命周期
生命周期
- 生命周期(强调时间段)
- 应用生命周期(范围较大):启动→运行→销毁
- 页面生命周期(范围较小):加载→渲染→销毁
- 生命周期函数(强调时间点)
- 应用的生命周期函数(启动→运行→销毁期间需要依次调用的函数)(app.js内):
- onLaunch:function(options){} :小程序初始化完成时执行此代码,全局只触发一次,可以做一些初始化工作
- onShow:function(options){} :小程序从后台进入前台时触发
- onHide:function(){} :小程序从前台进入后台时触发
- 页面的生命周期函数(加载→渲染→销毁期间需要依次调用的函数)(页面的.js内):
- onLoad:function(option){} :监听页面加载,一个页面只调用一次
- onShow:function(){} :监听页面显示
- onReady:function(){} :监听页面渲染完成,一个页面只调用一次
- onHide:function(){} :监听页面隐藏
- onUnload:funcction(){} :监听页面卸载,一个页面只调用一次
P50 WXS
WXML:
- 无法调用.js中定义的函数(能绑定事件)
- 可以调用wxs中定义的函数
wxs和JavaScript:
- 语法类似
- 完全不同
wxs关联方式:
- 内嵌wxs脚本(写在WXML的\
标签内)需要属性module - 外联wxs脚本(写在.wxs文件中且需src指定地址)需要属性module和src且必须为相对路径
<view>{{mq.toupper(username)}}</view>
<wxs module="m1">
module.exports.toUpper = function(str){ // 实例化module.exports对象才能对外界共享函数
return str.toUpperCase()
}