时间:2021-05-20
路由
做Android/iOS原生开发的时候,要打开一个新的页面,你得知道你的目标页面对象,然后初始化一个Intent或者ViewController,再通过startActivity或者pushViewController来推出一个新的页面,不能跟web一样,直接丢一个链接地址就跳转到新的页面。当然,可以自己去加一个中间层来实现这些功能。
Flutter里面是原生支持路由的。Flutter的framework提供了路由跳转的实现。我们可以直接使用这些功能。
Flutter路由介绍
Flutter里面有路由支持所有的路由场景,push、pop页面,页面间的参数传递等等。flutter里面的路由可以分成两种,一种是直接注册,不能传递参数。另一种要自己构造实例,可以传递参数。我们暂时把它们规为静态路由和动态路由。
跳转
命名路由
在文件构建时先设置路由参数:
new MaterialApp( // 代码 routes: { "secondPage":(BuildContext context)=>new SecondPage(), },);在需要做路由跳转的时候直接使用:
Navigator.pushNamed(context, "secondPage");构建路由
区别
以上两种路由的优缺点十分明显:
动画
构建动画
先在构建一个动画效果,如:
以上动画意思为跳转时新页面从右边划入,返回时向右边划出。
引入动画
传参
跳转时
传
前面我们说过,flutter的命名路由跳转无法传参。因此,我们只能使用构建路由的方式传参:
Navigator.push(context, new MaterialPageRoute(builder: (BuildContext context){ return new SecondPage( title:'此处为参数', name:'此处为名字参数' );}))收
返回时
传
当触发路由返回的事件时,传参是十分简单的。和跳转时的方式一样,甚至更简单,只需要:
Navigator.of(context).pop('这个是要返回给上一个页面的数据');收
但是,在接受返回时的数据需要改造前面触发跳转时的路由:
// 命名路由Navigator.pushNamed<String>(context, "ThirdPage").then( (String value){ //处理代码});// 构建路由Navigator.push<String>(context, new MaterialPageRoute(builder: (BuildContext context){ return new ThirdPage(title:"请输入昵称");})).then( (String result){ //处理代码});以上就是Flutter路由的跳转、动画以及传参的相关方法,依葫芦画瓢即可轻松应对。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言:上篇C#进阶系列——WebApi接口传参不再困惑:传参详解介绍了WebApi参数的传递,这篇来看看WebApi里面异常的处理。关于异常处理,作为程序员的我
本文实例讲述了vue路由传参的基本实现方式。分享给大家供大家参考,具体如下:前言vue路由传参的使用场景一般都是应用在父路由跳转到子路由时,携带参数跳转。传参方
在应用复杂时,推荐使用vue官网推荐的vuex,以下讨论简单SPA中的组件间传值。一、路由传值路由对象如下图所示:在跳转页面的时候,在js代码中的操作如下,在标
React中传参方式有很多,通过路由传参的方式也是必不可少的一种。本文记录项目中会用到的路由传参方式:路由跳转传参API+目标路由获取参数的方式。一、动态路由跳
vue中路由跳转传参数有多种,自己常用的是下面的几种通过router-link进行跳转通过编程导航进行路由跳转1.router-link1.path->是要跳转