支付宝小程序中Navigator和导航栏之间的区别以及用法场景的分析

 

区别:

   1.navigator是属于小程序组件中的,导航栏是属于小程序API中的

   2.navigator组件是用在axml页面中跳转的导航,它有4种类型(见下表);导航栏API是用在js中实现页面跳转的

   3.navigator是通过给属性open-type赋值的方法来实现其对应的跳转功能,导航栏是通过封装好的API中方法(如下表)实现其对应的功能

 

关联:

navigator的属性open-type对应导航栏API中的相应功能,参考该表理解  

      navigator(open-type)              导航栏
      navigate(默认值)       对应my.navigateTo的功能
      redirect       对应my.redirectTo的功能
      switchTab       对应my.switchTab的功能 
      navigateBack       对应my.navigateBack的功能

 

建议:

如果需要在跳转做其他逻辑处理建议使用导航栏API,不做的话建议使用navigator组件

 

用法场景:

1.my.navigateTo:

保留当前页面,跳转到应用内的某个指定页面,路径后可带参数,参数规则如下:路径与参数之间使用?分隔,参数键与参数值用=相连,不同参数必须用&分隔;如 path?key1=value1&key2=value2;

使用 my.navigateBack 可以返回到原页面;页面最大深度为10,即可连续调用 10 次 navigateTo

示例代码:

my.navigateTo({url: 'new_page?count=100'
})

 

2.my.redirectTo:

关闭当前页面,跳转到应用内的某个指定页面,路径后可带参数,参数规则如下:路径与参数之间使用?分隔,参数键与参数值用=相连,不同参数必须用&分隔;如path?key1=value1&key2=value2

示例代码:

my.redirectTo({url: 'new_page?count=100'
})

 

3.my.switchTab:

跳转到指定 tabBar 页面,并关闭其他所有非 tabBar 页面;跳转的页面的路径需要在app.json的tabBar中声明的页面且路径后不能带参数

示例代码:

// app.json
{"tabBar": {"items": [{"pagePath": "home","name": "首页"},{"pagePath": "user","name": "用户"}]}
}
my.switchTab({url: '/home'
})

 

4.my.navigateBack:

关闭当前页面,返回上一级或多级页面。可通过 getCurrentPages 获取当前的页面栈信息,决定需要返回几层;返回的页面数,如果 delta 大于现有页面数,则返回到首页。

示例代码:

// 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,
// 而 redirectTo 方法则不会。见下方示例代码// 此处是one页面
my.navigateTo({url: 'two?pageId=10000'
})// 此处是two页面
my.navigateTo({url: 'one?pageId=99999'
})// 在three页面内 navigateBack,将返回one页面
my.navigateBack({delta: 2
})

my.navigateTo 和 my.redirectTo 不允许跳转到 tabbar 页面;如果需要跳转到 tabbar 页面,请使用 my.switchTab

 

5.my.reLaunch:

关闭当前所有页面,跳转到应用内的某个指定页面。如果页面不为 tabbar 页面则路径后可以带参数。参数规则如下:路径与参数之间使用?分隔,参数键与参数值用=相连,不同参数必须用&分隔;如path?key1=value1&key2=value2

示例代码:

my.reLaunch({url: '/page/index'
})

 

6.my.setNavigationBar:

设置导航栏文字及样式,导航栏底部边框颜色,支持十六进制颜色值。若设置了 backgroundColor,则borderBottomColor 不会生效,默认会和 backgroundColor 颜色一样

示例代码:

my.setNavigationBar({title: '你好',backgroundColor: '#108ee9',success() {my.alert({content: '设置成功', });},fail() {my.alert({content: '设置是失败',});},
});

 

7.my.showNavigationBarLoading:

显示导航栏 loading

示例代码:

my.showNavigationBarLoading();

 

8.my.hideNavigationBarLoading:

隐藏导航栏 loading

示例代码:

my.hideNavigationBarLoading();

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

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

相关文章

vue 子组件更新父组件状态 使用sync

通过sync修饰符&#xff0c;来实现子组件更新父组件状态&#xff0c;是目前写法上最方便的语法糖了。下面举个例子 1、首先父组件声明状态active&#xff0c;并写一个子组件 <compo :foo.sync"active"></compo>这种语法糖其实会被解析成 <compo :f…

工作106:crul哈哈概念

<?php//前端进行网络请求 ajax//后台进行网络请求用到两种方式 curl socket//进行网络请求的步骤//1.初始化一个curl//2.对curl进行配置//3.执行curl//4.关闭curlfunction httpGet($url){//初始化$curl curl_init();//curl_setopt设置一个cURL传输选项 三个参数//由c…

lR关联功能总结

LR关联功能总结 一.关联介绍&#xff1a; LR录制的脚本只是忠实记录了所有从客户端发送到服务器端的数据&#xff0c;并在脚本回放的时候按照录制的顺序将录制下来的数据重新发送出去。但是&#xff0c;实际上许多的系统都采用SessionID或SeqID等方法来标识不同的任务和数据报&…

mongoose 多条件 模糊查询

需要知道两个标识符就可以搞定。 $or 用于多条件查询 http://www.nodeclass.com/api/mongoose.html#query_Query-or $regex 用于模糊查询 http://www.nodeclass.com/api/mongoose.html#query_Query-regex 试例代码&#xff1a; //从URL中传来的 keyword参数 const keyword t…

.NET深入实战系列—Linq to Sql进阶

.NET深入实战系列—Linq to Sql进阶 最近在写代码的过程中用到了Linq查询&#xff0c;在查找资料的过程中发现网上的资料千奇百怪&#xff0c;于是自己整理了一些关于Linq中容易让人困惑的地方。 本文全部代码基于&#xff1a;UserInfo与Class两个表&#xff0c;其中Class中的U…

11G数据库导入10G的操作实践

Oracle11g数据库导入Oracle10g数据库操作笔记用exp、imp命令时进行11g备份&#xff0c;导入10g的时候会抛错&#xff1a;不是有效的导出文件&#xff0c;头部验证失败&#xff1b;未成功终止导入。我今天就遇到了这种情况&#xff0c;搭建测试环境时&#xff0c;有一个项目使用…

软件测试个人心得总结

做测试有几年的时间了&#xff0c;很少这样了完整的来总结一些东西&#xff0c;最近有时间小小的总结了一下&#xff0c;针对公司有些项目提交测试时&#xff0c;存在的一些问题&#xff0c;谈谈个人的一些看法&#xff0c;比如没有需求&#xff0c;也没什么任何文档或有少量不…

【BZOJ1003】物流运输

1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 8273 Solved: 3481[Submit][Status][Discuss]Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大&#xff0c;需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通…

mongoose日期 时间 范围查询

需要知道的两个修饰符 $gte和$lt $gte (greater-than)$lt (less-than) 写法如下 const start new Date(2018, 3, 1); const end new Date(2018, 4, 1); db.posts.find({created_on: {$gte: start, $lt: end}});

Oracle rman备份和还原恢复数据库

1、切换服务器归档模式&#xff0c;如果已经是归档模式可跳过此步&#xff1a;%sqlplus /nolog &#xff08;启动sqlplus&#xff09;  SQL> conn / as sysdba &#xff08;以DBA身份连接数据库&#xff09;  SQL> shutdown immediate; &#xff08;立即关闭数据库&a…

JavaScript 随意整理2

08.29 # 全局对象* escape/unescape() 对特殊字符编码/解码* encodeURI / decodeURL 对url进行编码/解码* encodeURIComponent / decodeURIComponent 对URL解码/解码* eval() 把字符串当做代码执行# JSON对象* parse() 把josn字符串转换为对象* stringify() 把对…

css scale 缩放基准点

使用transform-origin来进行控制 在使用transform方法进行文字或图像的变形时&#xff0c;是以元素的中心点为基准点进行的。使用transform-origin属性&#xff0c;可以改变变形的基准点。 用法&#xff1a;transform-origin: 10px 10px; 共两个参数&#xff0c;表示相对左上角…

闪回区设置问题

oracle10g提供了一个叫做闪回恢复区(Flashback recovery area)的新特性&#xff0c;可以将所有恢复相关的文件&#xff0c;比如flashback log,archive log,backup set等&#xff0c;放到这个区域集中管理。 查看闪回区内容及使用情况&#xff1a; select * from v$flash_recov…

多主机Docker容器的VLAN划分

原文发表于cu&#xff1a;2016-06-06 参考文档&#xff1a; Docker网络的4种模式&#xff0c;pipework/ovs的简单使用等&#xff1a;http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-practice Dockerpool全文档&#xff1a;https://yea…

css p 文本不换行,超出文字显示省略号

.text {// 文本强制不换行white-space: nowrap;// 文本溢出显示省略号text-overflow: ellipsis;// 溢出的部分隐藏overflow: hidden; }

oracle监听无法启动常用解决办法

在cmd下使用lsnrctl start无法启动监听程序提示&#xff1a;TNS-12560: TNS: 协议适配器错误在cmd下进入lsnrctl&#xff0c;输入start提示&#xff1a;TNS-12557: Message 12557 not found; No message file for productNETWORK, facilityTNSns secondary err code: 12560请检…