微信小程序路由跳转,API调用,页面传值

简介: 微信小程序路由跳转,API调用,页面传值

路由跳转

  1. wx.switchTab

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

wx.switchTab({
   
    url: '/pages/tarbar/index'
})
  1. wx.reLaunch

关闭所有页面,打开到应用内的某个页面。

wx.reLaunch({
   
    url: '/pages/index/index'
})
  1. wx.redirectTo

关闭当前页面,跳转到应用内的某个页面。但是不能跳转到 tabbar 页面。

wx.redirectTo({
   
    url: '/pages/index/index'
})
  1. wx.navigateTo

保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。小程序的页面栈最多只能存储10个页面。

wx.navigateTo({
   
    url: '/pages/index/index'
})
  1. wx.navigateBack

关闭当前页面,返回上一页面或多级页面。使用delta参数确定返回的页数,默认为1,若delta大于现有页面数,则返回至首页。

// 此处是A界面,前往B界面
wx.navigateTo({
   
    url: '/pages/B/B'
}

// 此处是B界面,前往C界面
wx.navigateTo({
   
    url: '/pages/C/C'
})

// 此处是C界面,返回到A界面
wx.navigateBack({
   
    delta: 2
})

API调用

微信小程序默认已经封装了相关的请求方法,在使用微信开发工具时,在微信开发工具右上角的详情,本地设置中设置不检验合法域名...即可使用开发工具进行调试调用。
注:在提交代码至微信小程序平台后,若要调用服务器接口,则需配置https,微信小程序不支持http请求

微信小程序.png

微信小程序通过 wx.request() 方法调用服务器接口,通过指定 url 指定接口,通过 method 指定调用方法。

GET请求

GET请求一般使用头参法传递数据,GET请求相对POST请求速度较快,但是安全性不高,凡是设计用户隐私的数据,都不能使用GET请求。

bindTestGet() {
   
    // 为确保this指向不发生改变,可以固定下this指向
    // 使用this的时候用that代替即可
    var that = this;
    wx.request({
   
        // 注意,如果小程序开启校验合法域名时必须使用https协议
        // 在测试的情况下可以不开启域名校验
        url: 'http://127.0.0.1:4523/mock/370607/testGet?id=1',

        // 请求的方法
        // 常用方法'GET','POST','PUT','DELETE'
        method: 'GET', 
        // 设置请求头,不能设置 Referer
        header: {
   
            // 默认值
            'content-type': 'application/json' 
        },
        // 请求成功时的处理
        success: function (res) {
   
        // 一般在这一打印下看看是否拿到数据
            console.log("testGet");
            console.log(res.data);
            if (res.statusCode == 200) {
   
                var array = res.data;
                that.setData({
   
                // 将res.data保存在listDate方便我们去循环遍历
                    listDate: res.data
                // 统计所有数据
                });
            };
        },
        // 请求失败时的一些处理
        fail: function () {
   
            wx.showToast({
   
                icon: "none",
                mask: true,
                title: "接口调用失败,请稍后再试。",
            });
        }
    });
}

POST请求

POST请求一般使用Body传参法,Body请求速度相对GET请求相对较慢,但是POST请求胜在隐私性高,可传递数据量大。

bindTestPost() {
   
    var that = this;
    wx.request({
   
              url: 'http://127.0.0.1:4523/mock/370607/testPost',
              data: {
   
                param: '1',
              },
              method: 'POST', 
              header: {
   
                'content-type': 'application/json'
        },
              success: function (res) {
   
                console.log("testPost");
                console.log(res.data);
                if (res.statusCode == 200) {
   
                var array = res.data;
                      that.setData({
   
                            listDate: res.data
                      });
                }
              },
              fail: function () {
   
                  wx.showToast({
   
                        icon: "none",
                        mask: true,
                      title: "接口调用失败,请稍后再试。",
                 });
              }
       });
  }

其他场景API调用方法如'PUT','DELETE'本质是'POST'请求的延伸,'PUT'请求和'DELETE'请求使用方法同'POST',只需修改method中的方法即可。


页面传参

  1. 通过微信小程序组件的公有属性data-[key]="value"的形式,可以从wxml文件中向js文件中传值;
  2. 在同一个标签中,需要向js文件中传递多个值的时候,可以使用多个data-[key]="value"的形式传值;
  3. 在js文件中,通过[res].currentTarget.dataset.key[res].currentTarget.dataset[key]的形式,获取从wxml中传递到js文件的值;
  4. 在页面跳转时,使用头参法向要跳转的页面进行传值;
  5. 在js的文件的onLoad生命周期函数中,通过[res].[key]的形式获取从父页面传递的参数。
  6. 在使用**data-[key]="value"**的形式传参时,[key]中不能出现大写字母,不然js文件中识别不到相关的key,这里建议使用下划线命名法进行key的命名

示例:
wxml文件中:

<view bindtap="goChild" data-id="{
    {item.id}}" data-key="1">

父js文件中获取wxml文件传递的值:

相关文章
|
2月前
|
JSON 小程序 前端开发
微信小程序的目录结构及页面结构的说明
本文详细介绍了微信小程序的目录结构、页面组成部分以及项目的全局配置文件,阐述了小程序的宿主环境和运行机制,包括小程序启动和页面渲染的过程。
微信小程序的目录结构及页面结构的说明
|
3月前
|
小程序
微信小程序多种跳转页面方式
微信小程序多种跳转页面方式
|
2月前
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
2月前
|
小程序 开发工具
app跳转微信小程序,使用明文scheme拉起
app跳转微信小程序,使用明文scheme拉起
445 4
|
2月前
|
小程序 前端开发 生物认证
微信小程序如何将一个按钮放到页面的最底下?
微信小程序如何将一个按钮放到页面的最底下?
255 5
|
2月前
|
JSON 小程序 JavaScript
微信小程序页面事件,下拉刷新事件和上拉触底事件
这篇文章介绍了微信小程序中如何实现下拉刷新和上拉触底事件,包括开启下拉刷新、配置下拉刷新样式、监听下拉刷新事件,以及监听上拉触底事件和配置上拉触底的距离。
|
3月前
|
小程序 开发者
万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】
这篇文章分享了四个不同应用场景下的微信小程序个人主页的源代码和页面效果展示,包括商城系统、外卖系统、医疗挂号和电影购票系统的个人主页。提供了完整的页面布局和样式代码,允许开发者直接复制粘贴并根据自己的项目需求进行简单的改造使用。
万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】
|
3月前
|
XML 存储 API
电商商品详情页面的获取,详情图属性sku价格的采集,API接口系列
在电商平台上,商品详情页面的获取,包括详情图、属性、SKU(Stock Keeping Unit,库存量单位)、价格等信息的采集,通常可以通过多种方式实现,其中之一是利用电商平台提供的API接口。以下是一个基于通用流程的概述,用于说明如何通过API接口系列来采集这些信息。
|
4月前
|
小程序 安全 搜索推荐
【微信小程序开发实战项目】——个人中心页面的制作
本文介绍了如何设计和实现一个网上花店的微信小程序,包括个人中心、我的订单和我的地址等功能模块。个人中心让用户能够查看订单历史、管理地址和与客服互动。代码示例展示了`own.wxml`、`own.wxss`和`own.js`文件,用于构建个人中心界面,包括用户信息、订单链接、收藏、地址、客服和版本信息。我的订单部分展示了订单详情,包括商品图片、名称、销量、价格和订单状态,用户可以查看和管理订单。我的地址功能允许用户输入和编辑收货信息,包括联系人、性别、电话、城市和详细地址。每个功能模块都附有相应的WXML和WXSS代码,以及简洁的样式设计。
209 0
【微信小程序开发实战项目】——个人中心页面的制作
|
3月前
|
开发框架 前端开发 API
使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理
使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理