6-微信小程序导航跳转、下拉触底、生命周期

导航

声明式导航

<navigator> 导航组件
官网传送门

  1. 导航到tabBar页面
    在使用<navigator>跳转到tabbar页面需指定urlopen-type属性,open-type必须为switchTab
    例:从home页跳转到message
    wxml
<navigator url="/pages/message/message" open-type="switchTab">go to message</navigator>
  1. 导航到非tabBar页面
    在使用<navigator>跳转到非tabbar页面需指定urlopen-type属性,open-type必须为navigate
    例:从home页跳转到info
    wxml
<navigator url="/pages/info/info" open-type="navigate">go to info</navigator>
  1. 后退导航
    如果要后退到上一页面活多级页面,需指定需指定deltaopen-type属性,open-type必须为navigateBackdelta必须是数字,表示后退的层级
    例:从home页跳转到info,然后后退到home
    wxml
<navigator open-type="navigateBack" delta="1">后退</navigator>
  1. 传参
<navigator url="/pages/info/info?name=zhangsan&age=22" open-type="navigate">go to info</navigator>

编程式导航

调用小程序api,实现页面跳转

  1. 导航到tabBar页面
    调用wx.switchTab(Object object)
    官网传送门
    例:从home跳转到contact
    wxml
<button bind:tap="gotoContact">go to connect</button>

ts

	gotoContact() {
   
		wx.switchTab({
   
			url: '/pages/contact/contact'
		})
	},
  1. 导航到非tabBar页面
    调用wx.navigateTo(Object object)
    官网传送门
    例:从home跳转到info
    wxml
<button bind:tap="gotoInfo">go to gotoInfo</button>

ts

	gotoInfo() {
   
		wx.navigateTo({
   
			url: '/pages/info/info'
		})
	},
  1. 后退导航
    调用wx.navigateBack(Object object)
    官网传送门
    例:从home页跳转到info,然后后退到home
    wxml
<button bind:tap="goBack">goBack</button>

ts

	goBack() {
   
		wx.navigateBack({
   
			delta: 1
		})
	},
  1. 传参
    wxml
<button bind:tap="gotoInfo">go to gotoInfo</button>

ts

	gotoInfo() {
   
		wx.navigateTo({
   
			url: '/pages/info/info?name=zhangsan&age=22'
		})
	},

获取url传递的参数
info.ts

	//获取导航参数
	onLoad(options) {
   
		console.log(options);
    },

事件

下拉刷新

enablePullDownRefresh
官网传送门

  1. 启用
    app.json开启全局enablePullDownRefresh也可以在pages目录下编辑页面.json文件开启局部刷新
//全局
  "window": {
   
    "enablePullDownRefresh": true,
  },
//pages局部开启
"enablePullDownRefresh": true,

  1. 配置
    全局app.json中配置backgroundColor和backgroundTextStyle配置下拉刷新的样式。
    也可以在pages目录下编辑页面.json文件配置样式
//全局
  "window": {
   
	"backgroundColor": "#123456",
	"backgroundTextStyle":"light"
  },
//pages局部开启
 "backgroundColor": "#123456",
 "backgroundTextStyle":"light"

  1. 监听下拉刷新事件
  onPullDownRefresh() {
   
		console.log('onPullDownRefresh');
  },
  1. 关闭下拉刷新效果
    stopPullDownRefresh
    官网传送门
  onPullDownRefresh() {
   
		console.log('onPullDownRefresh');
		wx.stopPullDownRefresh()
  },

上拉触底

  1. 监听上拉触底事件
    onReachBottom
    官网传送门

例:下拉触底打印onReachBottom
在这里插入图片描述

wxml

<view class="box"></view>

scss

.box{
   
	height: 2000rpx;
	background-color: blue;
}

ts

  onReachBottom() {
   
		console.log('onReachBottom');
  },
  1. 配置上拉触底距离
    onReachBottomDistance
    官网传送门
    app.json配置全局onReachBottomDistance也可以在pages目录下编辑页面.json文件配置局部
"onReachBottomDistance": 50
  1. 添加loading效果
    showLoading
    官网传送门

生命周期

全局生命周期app.ts

  1. onLaunch
  2. onShow
  3. onHide
  4. onError
App<>({
   

	/**
	 * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
	 */
	onLaunch() {
   
		
	},

	/**
	 * 当小程序启动,或从后台进入前台显示,会触发 onShow
	 */
	onShow(opts) {
   
		console.log(opts.query)
	},

	/**
	 * 当小程序从前台进入后台,会触发 onHide
	 */
	onHide() {
   
	},

	/**
	 * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
	 */
	onError(msg) {
   
		console.error(msg)
	},
})

pages页面生命周期

  1. onLoad
  2. onReady
  3. onShow
  4. onHide
  5. onUnload
Page({
   
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
   

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
   

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
   

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
   

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
   

  }
})

相关推荐

  1. 程序实现刷新事件、上事件

    2024-01-23 06:40:04       41 阅读
  2. 程序页面

    2024-01-23 06:40:04       41 阅读
  3. 程序webView

    2024-01-23 06:40:04       19 阅读
  4. 程序---生命周期

    2024-01-23 06:40:04       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-23 06:40:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-23 06:40:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-23 06:40:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-23 06:40:04       18 阅读

热门阅读

  1. yarn的安装及使用教程

    2024-01-23 06:40:04       39 阅读
  2. WEB前端IDE的使用以及CSS的应用

    2024-01-23 06:40:04       29 阅读
  3. 如何使用Pycharm社区免费版创建Django项目

    2024-01-23 06:40:04       29 阅读
  4. npm install vue3-print-nb --legacy-peer-deps npm ERR!

    2024-01-23 06:40:04       30 阅读
  5. bash 5.2中文修订2

    2024-01-23 06:40:04       31 阅读
  6. kafka(二)——常用命令

    2024-01-23 06:40:04       36 阅读
  7. npm源更换、卡住解决方式

    2024-01-23 06:40:04       30 阅读
  8. django mysql in 有序返回

    2024-01-23 06:40:04       38 阅读