117.【微信小程序 - 01】(十)

简介: 117.【微信小程序 - 01】
(3).后退导航

调用wx.navigateBack(Object)方法,可以返回上一页面或多级页面。其中Object参数对象可选的属性列表如下;

属性 类型 是否必选 说明
delta number 否 返回的页面数,如果delta大于现有页面,则返回到首页
success function 否 接口调用成功的回调函数
fail function 否 接口调用失败的回调函数
complete function 否 接口调用结束的回调函数(调用成功,失败都会执行)

info.js

// pages/info/info.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
  },
  //  1.返回上一级
  goBack(){
    wx.navigateBack({
      delta:1
    })
  },
})

info.wxml

<!--pages/info/info.wxml-->
<text>pages/info/info.wxml</text>
<view>资料</view>
<navigator open-type="navigateBack" delta="1">点我回退上一级</navigator>
<navigator open-type="navigateBack">点我回退上一级</navigator>
<view>----------------------------------</view>
<button type="primary" bindtap="goBack">点我返回上一级</button>

4.页面导航 - 导航传参

(1).声明式导航传参

navigator 组件的 url属性用来指定要跳转到的页面路径。同时,路径的后面还可以携带参数

  • 参数于路径之间使用? 分隔。
  • 参数键于参数值用=相连。
  • 不同参数用 & 分隔。

当有参数传递的时候,会自动调用

/**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
  },

声明式导航传参

<navigator url="/pages/info/info?name=jsxs&age=20" open-type="navigate">声明式导航到 info 页面</navigator>

(2).编程式导航传参

调用 wx.nagvigateTo(Object) 方法跳转页面时,也可以携带参数,代码实列如下:

home.wxml

<!--pages/home/home.wxml-->
<text>首页</text>
<!-- 1.这里的url我们必须要以 / 开头 -->
<navigator url="/pages/info/info?name=jsxs&age=20" open-type="navigate">声明式导航到 info 页面</navigator>
<button type="default" bindtap="toInfo">编程式导航到 info</button>

home.js

// pages/home/home.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
  },
  toInfo(){
    wx.navigateTo({
      url: '/pages/info/info?name=jsxs1&age=12',
    })
  }
})

(3).在onLoad中接受导航参数

通过声明式导航传参编程式导航传参所携带的参数,可直接在onLoad事件中直接获取到.

home.wxml

<navigator url="/pages/info/info?name=jsxs&age=20" open-type="navigate">声明式导航到 info 页面</navigator>

info.js : onLoad函数是微信自带的,我们通过这个函数进行获取上个页面传递过来的数据

// pages/info/info.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
      name:'',
      age:''
  },
  //  1.返回上一级
  goBack(){
    wx.navigateBack({
      delta:1
    })
  },
  goHome(){
    wx.switchTab({
      url: '/pages/home/home',
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('options->',options)
    this.setData({
      name:options.name,
      age:options.age
    })
  },
})

info.wxml

<!--pages/info/info.wxml-->
<text>pages/info/info.wxml</text>
<view>资料</view>
<view>----------------------------------</view>
<button type="default" bindtap="goHome">点击我回主页</button>
<view>
  <text>{{name}}</text>
  <hr/>
  <text>{{age}}</text>
</view>

5.页面事件-下拉刷新

(1).什么是下拉刷新

下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的操作。

(2).全局刷新和局部刷新
  1. 全局开启下拉刷新。
  • 在app.json的window节点中,将enablePullDownRefresh设置为true。
  1. 局部开启下拉刷新。
  • 在xxxx.json的window节点中,将enablePullDownRefresh设置为true。

xxx.json的页面下开启下拉

{
  "usingComponents": {},
  "enablePullDownRefresh": true
}
(3).监听页面的下拉刷新事件 ⭐

监听下拉刷新的事件: 当下拉的时候会自动调用

/**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },

messages.wxml

<!--pages/message/message.wxml-->
<text>信息</text>
<button type="default" bindtap="addCount">+1</button>
<view>
<text>总数: {{count}}</text>
</view>

messages.js

// pages/message/message.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    count:0
  },
  addCount(){
    console.log('this->',this)
    this.setData({
      count:this.data.count+1
    })
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
      this.setData({
        count:0
      })
  },
})

(4).停止下拉刷新的操作
// 当数据重置成功之后,调用此函数,关闭下拉刷新的效果
  wx.stopPullDownRefresh()

info.js

// pages/message/message.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    count:0
  },
  addCount(){
    console.log('this->',this)
    this.setData({
      count:this.data.count+1
    })
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
      this.setData({
        count:0
      })
      // 当数据重置成功之后,调用此函数,关闭下拉刷新的效果
      wx.stopPullDownRefresh()
  },
})


相关文章
|
JSON 前端开发 数据格式
vue-cli3读取本地json文件
vue-cli3读取本地json文件
262 1
|
6月前
|
传感器 人工智能 IDE
通义灵码编程智能体,上线!
通义灵码现在已经全面支持 Qwen3,并正式上线编程智能体,具备自主决策、环境感知、工具使用等能力,可以根据开发者的诉求,使用工程检索、文件编辑、终端等工具,端到端地完成编码任务。
345 0
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
411 0
|
SQL
.Net Core EF 日志打印 SQL 语句
.Net Core EF 日志打印 SQL 语句
285 0
|
12月前
|
PHP 开发者
PHP 7新特性深度解析
【10月更文挑战第40天】随着PHP 7的发布,这个广泛使用的语言带来了许多令人兴奋的新特性和性能改进。本文将深入探讨PHP 7的主要变化,包括类型声明、错误处理机制、性能优化等方面,帮助开发者更好地理解和应用这些新特性。
154 5
|
5G 网络性能优化 数据安全/隐私保护
WLAN 11ac 相对于之前版本的 WLAN 的变化
【8月更文挑战第24天】
147 0
一文搞懂:从零开始BlazorServer(7)
一文搞懂:从零开始BlazorServer(7)
73 0
|
存储 安全 程序员
为什么我放弃了有道云笔记,选择了 Obsidian
为什么我放弃了有道云笔记,选择了 Obsidian
889 0
|
存储 JavaScript 前端开发
js 对象合并 与数组合并
在 JavaScript 中,对象和数组都是非常常见的数据结构,它们可以用来存储和操作数据。有时候我们需要将两个对象或数组合并在一起,以便更好地进行操作。本文将会介绍如何在 JavaScript 中合并对象和数组。
下一篇
开通oss服务