微信小程序开发系列(十一)·小程序页面的跳转设置以及参数传递

news2024/11/17 23:49:07

目录

1.  跳转到商品列表

1.1  url: 当前小程序内的跳转链接

1.2  navigate:保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面

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

1.4  navigate和redirect的区别

1.5  switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

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

1.8  navigateBack:关闭当前页面,返回上一页面或多级页面,默认只能返回上一页

1.9  传参

1.10  实战布局


1.  跳转到商品列表

        在小程序中,如果需要进行跳转,需要使用 navigation 组件,常用的属性有 2个:

①  url: 当前小程序内的跳转链接

②  open-type:跳转方式

·  navigate:保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面

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

·  switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

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

·  navigateBack:关闭当前页面,返回上一页面或多级页面

注意事项:

1. 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用= 相连,不同参数用&分隔例如: /list?id=10&name=hua,在onLoad(options)生命周期函数中获取传递的参数。

2. open-type="switchTab"时不支持传参。

1.1  url: 当前小程序内的跳转链接

        在index.wxml页面,最下方我们先测试其相关功能,输入如下代码:

<navigator url="pages/list/list">到商品列表</navigator>

        会发现此时并不能点击,进行页面跳转:

        那是因为在进行页面跳转时,需要再路径的前面添加 / 斜线,否则跳转不成功,代码为:

<navigator url="/pages/list/list">到商品列表</navigator>

         此时在点击就可发生跳转:

1.2  navigate:保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面

        对于tabbar页面,请看:

零基础手把手教你创建微信小程序(五)·小程序配置文件详细介绍·tabbar配置以及页面配置-CSDN博客

        将1.1中的代码注释掉,输入:

<navigator url="/pages/list/list" open-type="navigate">到商品列表</navigator>
<navigator url="/pages/cate/cate" open-type="navigate">到商品列表</navigator>

        会发现list非tabbar页面会发生跳转,而cate这个tabbar页面不发生跳转:

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

        将1.2代码注释掉,输入:

<navigator url="/pages/list/list" open-type="redirect">到商品列表</navigator>
<navigator url="/pages/cate/cate" open-type="redirect">到商品分类</navigator>

        会发现list非tabbar页面会发生跳转,而cate这个tabbar页面不发生跳转:

1.4  navigate和redirect的区别

navigate:保留上一级页面,因此还能够返回上一级页面。

redirect:关闭上一级页面,只能返回首页。

1.5  switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

代码示例:

<navigator url="/pages/list/list" open-type="switchTab">到商品列表</navigator>
<navigator url="/pages/cate/cate" open-type="switchTab">到商品分类</navigator>

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

代码示例:

<navigator url="/pages/list/list" open-type="reLaunch">到商品列表</navigator>
<navigator url="/pages/cate/cate" open-type="reLaunch">到商品分类</navigator>

可以发现都能打开:

1.8  navigateBack:关闭当前页面,返回上一页面或多级页面,默认只能返回上一页

        放开1.1的代码,点击跳转,找到下方路径,点击,找到list.wxml文件:

        在其中编写代码:

<!--pages/list/list.wxml-->
<!-- <text>pages/list/list.wxml</text> -->

<navigator open-type="navigateBack">返回上一页</navigator>

        运行,此时点击“返回上一页”,会返回上一页:

        若是想要多级返回,需要天剑“delat”:

<!--pages/list/list.wxml-->
<!-- <text>pages/list/list.wxml</text> -->

<!-- delta:默认返回层级,默认是1,如果想返回几级就写几 -->
<navigator open-type="navigateBack" delta="1">返回上一页</navigator>

1.9  传参

        路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用= 相连,不同参数用&分隔例如: /list?id=10&name=hua,在onLoad(options)生命周期函数中获取传递的参数。

代码如下:

<navigator url="/pages/list/list?id=10&num=hua">到商品列表</navigator>

        此时页面跳转时,参数已经带过去了,我们可以在list.js文件找到生命周期函数,使用options形参用来接收传递的参数:

        点击跳转页面,可以看到此时参数已经传递过来了:

1.10  实战布局

        找到index.wxml,将商品导航的代码替换为如下代码:

<!-- 商品导航 -->
<view class="good-nav">
  <view>
  <navigator url="/pages/list/list">
  <image src="../../picture/images/cate-1.png" mode=""/>
  <text>鲜花玫瑰</text>
  </navigator>
  </view>
  <view>
  <navigator url="/pages/list/list">
  <image src="../../picture/images/cate-1.png" mode=""/>
  <text>鲜花玫瑰</text>
  </navigator>
  </view>
  <view>
  <navigator url="/pages/list/list">
  <image src="../../picture/images/cate-1.png" mode=""/>
  <text>鲜花玫瑰</text>
  </navigator>
  </view>
  <view>
  <navigator url="/pages/list/list">
  <image src="../../picture/images/cate-1.png" mode=""/>
  <text>鲜花玫瑰</text>
  </navigator>
  </view>
  <view>
  <navigator url="/pages/list/list">
  <image src="../../picture/images/cate-1.png" mode=""/>
  <text>鲜花玫瑰</text>
  </navigator>
  </view>
</view>

        找到index.scss文件,找到商品导航区域图片,将其替换为:

.good-nav{
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  padding: 20rpx 16rpx;
  border-radius: 10rpx;

  view {
    navigator{
      display: flex;
      flex-direction: column;
      align-items: center;  
    }

    image{
      width: 80rpx;
      height: 80rpx;
    }

    text{
      font-size: 24rpx;
      margin-top: 12rpx;
    }
  };
}

微信小程序开发_时光の尘的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1492495.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

flutter小程序框架,Android工程师面试该怎么准备

一般官网或者猎聘网的职位要求都写的很清楚&#xff0c;大家对照看一下就大体清楚能否胜任了。就算没成功也能发现自己的不足然后补上挺好的。 OPPO这些大点的厂子&#xff0c;对java语言&#xff0c;源码层&#xff0c;项目经验等都看到很重。需要有比较系统的知识体系&#…

个人社区 项目测试

目 录 一.背景及介绍二.功能详情三.手动测试1.编写测试用例2.测试 一.背景及介绍 该项目采用了前后端分离技术&#xff0c;把我们的数据保存到数据库中&#xff0c;操作对象是用户和个人文章编辑保存&#xff0c;前端的页面实现了登录&#xff0c;列表&#xff0c;编辑&#x…

突发,Anthropic推出突破性Claude 3系列模型,性能超越GPT-4

&#x1f989; AI新闻 &#x1f680; 突发&#xff0c;Anthropic推出突破性Claude 3系列模型 摘要&#xff1a;人工智能创业公司Anthropic宣布推出其Claude 3系列大型语言模型&#xff0c;该系列包括Claude 3 Haiku、Claude 3 Sonnet和Claude 3 Opus三个子模型&#xff0c;旨…

计算机组成原理----数据的表示和运算

一&#xff1a;进位计数制 1、进制 B&#xff1a;二进制&#xff1a;0-1 逢二进一、借一当二 O&#xff1a;八进制&#xff1a;0-7 逢八进一 D&#xff1a;十进制&#xff1a;0-9 逢十进一 H&#xff1a;十六进制&#xff1a;0-9、A-F 逢十六进一 r进制2 2、…

基于 Kyuubi 实现分布式 Flink SQL 网关

本文整理自网易互娱资深开发工程师、Apache Kyuubi Committer 林小铂的《基于 Kyuubi 实现分布式 Flink SQL 网关》分享&#xff0c;内容主要分为以下四部分&#xff1a; Kyuubi 是什么Kyuubi 架构设计Flink x Kyuubi 优势未来展望 一. Kyuubi 是什么 1.1. Kyuubi 简介 简单来…

HashData的湖仓一体思考:Iceberg、Hudi特性讲解与支持方案

湖仓一体作为一种新兴的开放式数据管理架构&#xff0c;能够充分发挥数据湖的灵活性、生态丰富以及数据仓库的企业级数据分析能力&#xff0c;已经成为企业建设现代数据平台的热门选择。 在此前的直播中&#xff0c;我们分享了HashData湖仓一体方案架构设计与Hive数据同步。本…

Xcode 15 适配 MonkeyDev

升级到Xcode15后,使用Xcode创建MonkeyApp后,运行会报错,本篇文章主要讲述此过程遇到的错误和解决办法。 问题1:找不到libc++.dylib文件 问题描述: Build input files cannot be found: /usr/lib/libstdc++.dylib, /usr/lib/libc++.dylib. Did you forget to declare th…

SPSS26安装后无法启动,提示:应用程序的并行配置不正确

以下的解决方法供参考&#xff1a; 1、安装jdk并配置 2、 找到安装目录\Statistics\26\VC9下的vcredist_x64.exe&#xff0c;打开安装并选择“repair”&#xff0c;安装完成后重启&#xff0c;一般可以成功。 3、若还不行&#xff0c;安装较新的C运行库&#xff0c;再试试。 …

docker-compose Install rustdesk

RustDesk RustDesk 是一款开源的远程支持和远程桌面工具,它旨在为用户提供便捷的远程协助和远程访问功能。 默认情况下,hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp),hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, 请注意21116同时要开启TCP和UDP。…

HCIA-Datacom题库(自己整理分类的)_45_VLAN判断【12道题】

1.华为交换机上可以使用命令vlan batch批量创建多个VLAN&#xff0c;简化配置过程。√ 2.同一台交换机VLANIF接口的IP地址不能相同√ 3.华为交换机上创建VLAN的规则是不能创建VLAN4095&#xff0c;且不可以删除VLAN1。√ 4.交换机上可以用vlan batch 批量创建vlan简化配置。…

html 文字滚动

<marquee> 标签 创建文字滚动的标签 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>wzgd</title></head><body><marquee direction"left" height"30" width"600&q…

谈一谈bpmn-js中的moddleExtensions

bpmn-js是一个基于BPMN 2.0规范定义的一个bpmn文件读写一体化编辑解决方案,其中bpmn的读写功能依托于bpmn-moddle工具库来实现。使用bpmn-moddle来进行bpmn文件的读取和写入不是随心所欲的,它又一套自己的校验标准,默认的bpmn-moddle是基于BPMN 2.0 元模型进行校验输入并生成…

C语言数据结构与算法——深度、广度优先搜索(DFS、BFS)

目录 一、深度优先搜索&#xff08;Depth-First-Search 简称&#xff1a;DFS&#xff09; 无向图的深度优先搜索 有向图的深度优先搜索 二、广度优先搜索&#xff08;Breadth-First-Search 简称&#xff1a;BFS&#xff09; 无向图的广度优先搜索 有向图的广度优先搜索 深…

NTFS Disk by Omi NTFS for mac v1.1.4中文版

NTFS Disk by Omi NTFS for Mac&#xff1a;NTFS文件系统的无缝桥梁 软件下载&#xff1a;NTFS Disk by Omi NTFS for mac v1.1.4中文版 &#x1f310; 跨平台访问&#xff0c;文件无阻 NTFS Disk by Omi NTFS for Mac 为您的Mac提供了对NTFS文件系统的无缝访问。无论您是在Win…

三大数学软件之Maple

相信钻研数学的小伙伴们对MATLAB、SPSS这样的重量级软件并不陌生&#xff0c;这些大型软件能求解复杂的运算&#xff0c;解决各领域的数学问题。今天博主为大家带来了一款名不见经传的软件——Maple&#xff0c;作为三大数学软件之一&#xff0c;Maple同样拥有不菲的计算能力&a…

CSS的标准文档流,简单开发web

一面 6道基本技术问题&#xff0c;居中、闭包、块级元素和行内元素等&#xff08;答案在下方&#xff09; 某个项目的页面布局方式&#xff0c;缓存的设计和优化方式&#xff08;本地存储和协议相关的&#xff09; ajax 的原生写法&#xff08;创建 XHR 对象&#xff0c; ope…

小迪安全32WEB 攻防-通用漏洞文件上传二次渲染.htaccess变异免杀

#知识点&#xff1a; 1、文件上传-二次渲染 2、文件上传-简单免杀变异 3、文件上传-.htaccess 妙用 4、文件上传-PHP 语言特性 #详细点&#xff1a; 1、检测层面&#xff1a;前端&#xff0c;后端等 2、检测内容&#xff1a;文件头&#xff0c;完整性&#xff0c…

HTML实体字符列表,必看

HTML、CSS、JS三大部分都起什么作用&#xff1f; HTML内容层&#xff0c;它的作用是表示一个HTML标签在页面里是个什么角色&#xff1b;CSS样式层&#xff0c;它的作用是表示一块内容以什么样的样式&#xff08;字体、大小、颜色、宽高等&#xff09;显示&#xff1b;JS行为层…

uni-app头像编辑上传

实现比较简单&#xff0c;文档中都有描述&#xff0c;就是第一次做可能会有疏漏&#xff0c;记录一下&#xff1a; <view class"edict-item" click"selectPic"><text class"item-name" :style"$em.$getThemeStyle([avatarConText…

B端设计:如何让UI组件库成为助力,而不是阻力。

Hi&#xff0c;我是大千UI工场&#xff0c;网上的UI组件库琳琅满目&#xff0c;比如elementUI、antdesign、iview等等&#xff0c;甚至很多前端框架&#xff0c;也出了很多UI组件&#xff0c;如若依、Layui、bootstrap等等&#xff0c;作为UI设计师该如何面对他们呢。 一、UI组…