原创+转发:微信小程序navigator、redirectTo、switchTab几种页面跳转方式
什么是事件?
事件是视图层到逻辑层的通讯方式。 事件可以将用户的行为反馈到逻辑层进行处理。
详解(以常见的tap点击事情为例)
模板.wxml代码:
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>
JS文件代码:
1.先导
在Android中,我们Activity和Fragment都有栈的概念在里面,微信小程序页面也有栈的概念在里面。微信小程序页面跳转有四种方式:
1.wx.navigateTo(OBJECT);
2.wx.redirectTo(OBJECT);
3.wx.switchTab(OBJECT);
4.wx.navigateBack(OBJECT) 分析:
其中navigateTo是将原来的页面保存在页面栈中,在跳入到下一个页面的时候目标页面也进栈,只有在这个情况下点击手机的返回按钮才可以跳转到上一个页面;
redirectTo和switchTab都是先清除栈中原来的页面,然后目标页面进栈,使用这两种跳转方式,都不能通过系统的返回键回到上一个页面,而是直接退出小程序;
redirectTo使用的时候一定要配合tabBar或是页面里面可以再次跳转按钮,否则无法回到上一个页面;
switchTab跳转的页面必须是tabBar中声明的页面;
tabBar中定义的字段不能超过5个页面,小程序的页面栈层次也不能超过5层。
navigateBack只能返回到页面栈中的指定页面,一般和navigateTo配合使用。
wx.navigateTo 和 wx.redirectTo 不允许跳转到 tabbar 页面,只能用 wx.switchTab 跳转到 tabbar 页面 2.页面跳转的具体操作
()wx.navigateTo(OBJECT),从二级菜单跳三级菜单,正向
保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
(2)wx.redirectTo(OBJECT)
关闭当前页面,跳转到应用内的某个页面。
(3)wx.switchTab(OBJECT)
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
()wx.navigateBack(OBJECT),从三级菜单跳二级菜单,反向
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages()) 获取当前的页面栈,决定需要返回几层。
// 在C页面内 navigateBack,将返回A页面
wx.navigateBack({
delta: 2
})
(5)使用<navigator/>标签实现页面跳转
<navigator url="navigate?title=navigate" hover-class="navigator-hover">跳转到新页面</navigator> 4.参数传递
(1)通过路径传递参数
通过路径传递参数在wx.navigateTo(OBJECT)、wx.redirectTo(OBJECT)和<navigator/>中使用方法相同
示例代码:以wx.navigateTo为代表 wx.navigateTo({
url: 'test?id=1'//实际路径要写全
}) //test.js
Page({
onLoad: function(option){
console.log(option.id)
}
})
参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;
test?id=1 中id为参数键,1 为参数值
在目的页面中onLoad()方法中option对象即为参数对象,可以通过参数键来取出参数值
2、以上代码总结,通俗点:
navigateTo === navigator,手机点击返回都能回到上一页;
wx.navigateBack(OBJECT),从三级菜单跳二级菜单,反向

redirectTo,手机点击返回,回不到上一页
switchTab,能且只能跳转到tabbar页面
原创+转发:微信小程序navigator、redirectTo、switchTab几种页面跳转方式的更多相关文章
- 微信小程序开发:学习笔记[8]——页面跳转及传参
		
微信小程序开发:学习笔记[8]——页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...
 - 微信小程序实现淡入淡出效果(页面跳转)
		
//目前小程序没有fadeIn(),fadeOut()方法所以还是本方法手写 <!--wxml--><!--蒙版(渐出淡去效果)--><view class=" ...
 - 微信小程序-全局配置、组件、页面跳转、用户信息等
		
全局配置 三个页面 app.json pages字段 "pages":[ "pages/index/index", # 首页 "pages/home/ ...
 - 微信小程序:wx.navigateTo中url无法跳转问题(app.json中配置的tabBar与wx.navigateTo中url引用相同页面导致)
		
今天在做微信小程序时,设置wx.navigateTo页面跳转并传参数,点击始终没有效果,代码如下: //事件处理函数 newsDetail: function (event) { console.lo ...
 - 微信小程序转发微信小程序转发
		
微信小程序转发涉及以下4个方法: 1.Page.onShareAppMessage({}) 设置右上角“转发”配置,及转发后回调函数返回 shareTicket 票据 2.wx.showSahreMe ...
 - 微信小程序navigateTo /redirectTo/navigateBack 三者区别
		
navigateTo 不会将旧页面出栈: redirectTo 会将旧页面出栈,再将需要跳转到的页面入栈: navigateBack 则是将页面栈最后一个元素出栈,因此倒数第二个元素会成为最后一个元素 ...
 - 微信小程序navigator页面跳转失效原因
		
在编写小程序时遇到一个问题:使用 <navigator url='/pages/lists/index'>...</navigator>进行跳转没有反应.控制台也没有报错,ap ...
 - 原创:微信小程序入口猜想?
		
昨天看到一篇文章:是有一个人逆向了微信源码,从中发现了很多关于小程序的未公开内容,然后发布了出来,不过很快作者就删掉了文章,而我也没保留,只是隐约留下来一点点印象,就是作者推测了很多个入口:作者删掉的 ...
 - 原创:微信小程序+WEB使用JS实现注册【60s】倒计时功能
		
1.效果图: 2.页面仅仅利用了JS的相关功能,包含:wxml.js.wxss 2.1wxml页面代码: <text>绑定手机</text> <form bindsubm ...
 
随机推荐
- SSL协议具体解释
			
背景介绍 近期在看<password学与网络安全>相关的书籍,这篇文章主要具体介绍一下著名的网络安全协议SSL. 在開始SSl介绍之前,先给大家介绍几个password学的概念和相关 ...
 - go语言  defer 高级
			
go语言defer语句的用法 defer的语法 defer后面必须是函数调用语句,不能是其他语句,否则编译器会出错. package main import "log" func ...
 - Excel 批量快速合并相同的单元格:数据透视表、宏代码、分类汇总
			
Excel 批量快速合并相同的单元格 在制作Excel表格的时候,为了使得自己制作的报表更加简洁明了,方便查阅,经常需要合并很多相同的单元格,如果有几千几万条记录需要合并的话,真的会让人发疯.怎样 ...
 - Objective-C-Category类别
			
Object-C开发的时候有的时候会用到Category类,类似于Java和C#中扩展类,就是如果你觉得如果你觉得常用的方法在String中没有,可以根据业务需求和个人喜好写一个扩展类,然后在其中补充 ...
 - Managed Debugging Assistant 'PInvokeStackImbalance' has detected a problem in 解决方案
			
because regular C functions work differently than the Windows API functions; their "calling con ...
 - 重命名IDEA14项目名
			
Project Settings / Project ->">工程结构(ctrl-alt-shift-s)->设置->项目/项目Project name: 请注意,这 ...
 - (LeetCode 203)Remove Linked List Elements
			
Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --& ...
 - leetCode 41.First Missing Positive (第一个丢失的正数) 解题思路和方法
			
First Missing Positive Given an unsorted integer array, find the first missing positive integer. Fo ...
 - 开源 免费 java CMS - FreeCMS1.5-数据对象-job
			
下载地址:http://code.google.com/p/freecms/ job 从FreeCMS 1.5 开始支持 在使用职位相关标签时,标签会封装job供页面调用. 属性 说明 id id s ...
 - Httpclient 4, error 302. How to redirect?
			
http://stackoverflow.com/questions/3658721/httpclient-4-error-302-how-to-redirect DefaultHttpClient ...