
路由基础之Router 原创
我们在很早的篇幅中介绍过一种路由的方式Navigation的路由跳转,但是在很多场景或者对于我们这种初学者来说,上手Navigation的路由跳转可能比较慢,所以我们在这一篇幅中介绍易于上手的Router路由跳转。
为什么我们要使用Router路由跳转?因为在很多业务或者场景下我们必须新打开一个页面而不是组件,也就是我们需要一个新的页面,而Router路由方式就是提供给我们跳转到新的页面的一种方式。并且假如我们开发的项目比较大,分了几个包的情况下,Router这种路由方式也支持跨包进行跳转。
大致介绍完了Router的基本概况,我们就可以开始进行代码层的了解了。
其中router提供了两种跳转模式,分别是router.pushUrl和router.replaceUrl。其中router.pushUrl:目标页面不会替换当前页,而是压入页面栈。这个也是今天我们先进行介绍的内容
[router1.mp4]
https://live.csdn.net/v/469906
import { router } from ‘@kit.ArkUI’
@Entry
@Component
struct Router1Page {
build() {
Column() {
Button(“Router跳转pushUrl”)
.onClick(() => {
router.pushUrl({ url: “pages/router/Router2Page” })
})
}
}
}
import { router } from ‘@kit.ArkUI’
@Entry
@Component
struct Router2Page {
build() {
Column() {
Text(“我是Router2页面”)
.fontSize(28)
Button(“点击返回”)
.onClick(() => {
router.back()
})
}
}
}
从上述代码中我们可以看出router的基础用法。
1.先导入router包,2.再使用其中的方法pushUrl,其中的Url对应你需要跳转的页面, 3.注意,跳转的页面得是@Entry修饰的页面
二:页面的返回
从第二段代码中我们就可以知道router给我们提供的返回方法就是back,我们只需要像跳转一样先导入包然后使用其中的back方法便可以返回。
注意:返回的页面是返回上一个页面栈的位置,也就是说如果我们跳转了多个页面的话,它这个back方法也是返回上个入栈的页面,如果需要返回我们指定的页面我们可以进行如下操作:
import { router } from ‘@kit.ArkUI’
@Entry
@Component
struct Router2Page {
build() {
Column() {
Text(“我是Router2页面”)
.fontSize(28)
Button(“点击返回”)
.onClick(() => {
router.back({
url: “pages/router/Router1Page”
})
})
}
}
}
其中back也支持传递参数,我们可以要把返回页面的Url传递过去便可以返回我们想要返回的页面
我会在下一篇幅内容中讲解router的进阶用法
Harmony OS NEXT API12
本次就暂时介绍这么多, 在下一篇内容中我会给大家介绍一下样式复用的修饰器
谢谢各位的观看,有错误不足的地方, 本人乐于接受各位的意见
