微信小程序学习笔记(4) -- 页面间的跳转和传值
发布日期:2021-04-30 20:59:21 浏览次数:384 分类:精选文章

本文共 1282 字,大约阅读时间需要 4 分钟。

页面间跳转是Flutter中常用的功能之一,以下将详细介绍页面间跳转的实现方法以及相关技巧。

导航栏模式

在Flutter中,页面间跳转可以通过navigator标签实现。默认情况下,跳转后会返回到原页面,具体表现为点击返回按钮后会回到之前的页面。为了实现不返回的需求,可以通过设置redirect属性为true来实现。

参数传递

页面间参数的传递可以通过在跳转链接中添加问号参数来实现。参数可以以字符串形式或者对象形式传递。例如:

Navigator.push(  context,  MaterialPageRoute(    builder: (context) => SecondPage(      name: '小明',      age: 18,    ),  ),)

在第二页可以通过onLoad生命周期方法接收参数。

redirect模式

在某些场景下,需要确保跳转后不会返回到原页面。这种情况下,可以通过设置redirect属性为true来实现。例如:

Navigator.push(  context,  MaterialPageRoute(    builder: (context) => Center(      child: Text('跳转成功'),    ),  ),  redirect: true,)

导航元素高亮

点击导航元素时,可以通过设置hover-class属性来定义高亮效果。例如:

Navigator(  onTap: () {},  hoverClass: 'my-hover',)

可以自定义my-hover样式以实现个性化效果。

API

Flutter中提供了多种API来实现页面间跳转:

  • wx.navigateTo:支持参数传递
  • wx.redirectTo:支持参数传递且不返回
  • wx.navigateBack:返回到指定页面

案例说明

以下是一个完整的跳转案例:

  • 准备三个页面demo1, demo2, demo3
  • app.json中添加页面配置
  • demo1页面中使用navigator跳转到demo2
  • demo2页面中使用navigator跳转到demo3
  • demo3页面中返回到demo1页面
  • 参数传递示例

    demo1页面中:

    Navigator.push(  context,  MaterialPageRoute(    builder: (context) => SecondPage(      id: 123,    ),  ),)

    SecondPage中可以通过onLoad接收参数。

    返回功能

    可以通过wx.navigateBack实现返回功能。例如:

    wx.navigateBack(delta: 2)

    默认情况下,delta为1,表示返回到上一页。

    注意事项

  • app.json中添加一个配置项,会自动生成页面文件
  • 如果新建的页面文件为空,需要在page.json中添加{}以确保页面被正确渲染
  • 通过以上方法,可以轻松实现页面间跳转功能,并根据需求灵活配置参数传递和导航效果。

    上一篇:Acwing 220. 最大公约数
    下一篇:网路底层基础“TCP协议灵魂之问”,你是不是也需要巩固?

    发表评论

    最新留言

    表示我来过!
    [***.240.166.169]2026年06月13日 10时47分20秒