app.json配置
{
"pages":[
"pages/index/index",
"pages/test/test"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
},
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "首页"
},
{
"pagePath": "pages/logs/logs",
"text": "日志"
}
]
},
"networkTimeout": {
"request": 10000,
"downloadFile": 10000
}
}
默认pages的第一个页面为首页,在window中可以设置导航栏,背景的一些属性风格。tabBar是小程序底部的导航栏,networkTimeout是小程序与后台交互时的连接超时时间。
app生命周期及页面生命周期
app的生命周期函数主要是onLaunch
,小程序启动的时候调用。app.json的对象,可以在页面的js中使用getApp()
函数得到全局的app对象进而使用const app = getApp();得到app.globalData
App({
onLaunch: function () {
},
globalData: '小程序实战'
})
页面生命周期函数主要有这几个,其中onLoad
和onUnLoad
配对,在页面存活的添加下只会第一次初始化时调用,onReady
和onLoad
的调用类似,当页面加载到允许用户操作屏幕时调用,onShow
和onHide
是页面展示和隐藏时调用,此时的页面是没有被卸载的。
Page({
data: {
text: 'This is page data.'
},
onLoad(options) {
// Do some initialize when page load.
},
onReady() {
// Do something when page ready.
},
onShow() {
// Do something when page show.
},
onHide() {
// Do something when page hide.
},
onUnload() {
// Do something when page close.
}
})
页面跳转
这两个函数都是微信提供的跳转页面api,区别在于redirectTo
是将当前页面销毁,跳转到新页面后,没有back键。navigateTo
是将当前页面隐藏,跳转到新页面。当过多页面的时候需要考虑下性能,防止频繁使用navigateTo
,致使大量页面在后台存活。这两个方法的url都是相对路径。
wx.redirectTo({
url: '../test/test',
})
wx.navigateTo({
url: "../test/test"
})