微信小程序 - 导航 、wxs及生命周期函数

导航
声明式导航

使用<navigator></navigator>标签

属性 类型 默认值 必填 说明
target string self 在哪个目标上发生跳转,默认当前小程序
url string 当前小程序内的跳转链接
open-type string navigate 跳转方式

target参数

属性值 说明
self 当前小程序
miniProgram 其它小程序

open-type参数

属性值 说明
navigate 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。
redirect 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
switchTab 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
reLaunch 关闭所有页面,打开到应用内的某个页面
navigateBack 关闭当前页面,返回上一页面或多级页面。可通过getCurrentPages获取当前的页面栈,决定需要返回几层
exit 退出小程序,target="miniProgram"时生效
复制代码
<!-- navigate 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。 -->
<!-- switchTab 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 -->
<navigator url="../index/index" open-type="navigate">去非tabBar页面</navigator>

<!-- <navigator url="../mian/mian" open-type="switchTab">去tabBar页面</navigator> -->
编程式导航
复制代码
<button type="primary" plain bind:tap="goMain">跳转到Main</button>

js中设置

复制代码
 wx.navigateTo({
      url: '../mian/mian?id=1001&name=zhangsan',
      success: (res) => {
        console.log("跳转Main", res);
      }
    })
wxs

WXS(WeiXin Script)是内联在 WXML 中的脚本段。通过 WXS 可以在模版中内联少量处理脚本,丰富模板的数据预处理能力。

  1. 使用module.exports暴露方法(函数)
  2. module="m1" wxs设置名称
html 复制代码
<view>{{m1.toUpper(msg)}}</view>
<view>{{m2.toLower(msg)}}</view>
<wxs module="m1">
    module.exports.toUpper = function (str) {   
    return str.toUpperCase();
    }
</wxs>
<wxs module="m2" src="../../utils/tools.wxs"></wxs>
上拉触底、下拉刷新

1.开启下拉刷新、设置下拉触底的高度

2.在js文件中设置处理函数

javascript 复制代码
/**
   * 页面相关事件处理函数--监听用户下拉动作
   */
onPullDownRefresh() {
    console.log("下拉刷新");
    this.setData({
        colorList: this.getColor()
    })

    wx.stopPullDownRefresh();  //停止下拉刷新的动作

},
    /**
   * 页面上拉触底事件的处理函数
   */
    onReachBottom() {
        console.log("上拉触底");
        this.setData({
            colorList: [...this.data.colorList, ...this.getColor()]
        })
    },
相关推荐
河南花仙子科技11 小时前
企业定制小游戏助力品牌软性传播
大数据·科技·游戏·小程序
StevenLdh12 小时前
情绪小恐龙:一个微信小程序从架构设计到部署上线的全记录
微信小程序·小程序·notepad++
m0_5873830012 小时前
折扣卡CPS软件开发实战:从系统架构设计到上线指南
java·小程序·架构·需求分析
mykj155112 小时前
赛事报名小程序系统:一站式解决赛事管理难题
小程序·app开发·体育赛事报名小程序·赛事app
EatFan14 小时前
Java接入微信支付保姆式教程(一):支付流程、商户号与环境准备
小程序·微信支付·jsapi支付
00后程序员张18 小时前
怎么用 Egret(白鹭引擎)打包 iOS 应用并上架 App Store?
android·ios·小程序·https·uni-app·iphone·webview
Bs_MoneyMagnet19 小时前
基于springboot+vue的旅游行程分享与推荐小程序的设计与实现 源码+文档
java·vue.js·spring boot·后端·微信小程序·毕业设计·计算机毕业设计
西木风落19 小时前
业余发展——零后端微信小程序口算练习实战
微信小程序·vibe coding·口算小达人
xujuzheng19 小时前
2026深圳小程序/App/AI智能体开发公司选型指南(附本地服务商盘点)
数据库·科技·微信小程序·小程序·uni-app
盟道科技1 天前
消息队列消费端幂等性实战:订单场景下重复消息不重复扣款的完整方案
小程序