通过不同的url访问不同的页面,包括跳转到应用内的指定页面、同应用内的某个页面替换当前页面、返回上一页面或指定的页面等。

👇🏻👇🏻👇🏻求关注👇🏻👇🏻👇🏻




说明

页面路由需要在页面渲染完成之后才能调用,在onInit和onReady生命周期中页面还处于渲染阶段,禁止调用页面路由方法。

导入模块

import ohos.router.*

函数

push(String, String)

public static func push(url!: String, params!: String = "")

跳转到应用内的指定页面。

参数名

参数类型

必填

默认值

描述

url

String

-

表示目标页面的url,可以用以下两种格式:

- 页面绝对路径,由配置文件中pages列表提供,例如:

- pages/index/index

- pages/detail/detail

- 特殊值,如果url的值是"/",则跳转到首页。

params

String

""

表示路由跳转时要同时传递到目标页面的数据,切换到其他页面时,当前接收的数据失效。跳转到目标页面后,使用router.getParams()获取传递的参数,此外,在类web范式中,参数也可以在页面中直接使用,如this.keyValue(keyValue为跳转时params参数中的key值),如果目标页面中已有该字段,则其值会被传入的字段值覆盖。

说明:

params参数不能传递方法和系统接口返回的对象(例如,媒体接口定义和返回的PixelMap对象)。建议开发者提取系统接口返回的对象中需要被传递的基础类型属性,自行构造object类型对象进行传递。

push(String, JsonObject)

public static func push(url!: String, params!: JsonObject)

跳转到应用内的指定页面。

参数名

参数类型

必填

默认值

描述

url

String

-

表示目标页面的url,可以用以下两种格式:

- 页面绝对路径,由配置文件中pages列表提供,例如:

- pages/index/index

- pages/detail/detail

- 特殊值,如果url的值是"/",则跳转到首页。

params

JsonObject

-

表示路由跳转时要同时传递到目标页面的数据,切换到其他页面时,当前接收的数据失效。跳转到目标页面后,使用router.getParams()获取传递的参数,此外,在类web范式中,参数也可以在页面中直接使用,如this.keyValue(keyValue为跳转时params参数中的key值),如果目标页面中已有该字段,则其值会被传入的字段值覆盖。

说明:

params参数不能传递方法和系统接口返回的对象(例如,媒体接口定义和返回的PixelMap对象)。建议开发者提取系统接口返回的对象中需要被传递的基础类型属性,自行构造object类型对象进行传递。

back(String, String)

public static func back(url!: String, params!: String = "")

返回上一页面或指定的页面。

参数名

参数类型

必填

默认值

描述

url

String

-

表示目标页面的url,可以用以下两种格式:

- 页面绝对路径,由配置文件中pages列表提供,例如:

- pages/index/index

- pages/detail/detail

- 特殊值,如果url的值是"/",则跳转到首页。

params

String

""

表示路由跳转时要同时传递到目标页面的数据,切换到其他页面时,当前接收的数据失效。跳转到目标页面后,使用router.getParams()获取传递的参数,此外,在类web范式中,参数也可以在页面中直接使用,如this.keyValue(keyValue为跳转时params参数中的key值),如果目标页面中已有该字段,则其值会被传入的字段值覆盖。

说明:

params参数不能传递方法和系统接口返回的对象(例如,媒体接口定义和返回的PixelMap对象)。建议开发者提取系统接口返回的对象中需要被传递的基础类型属性,自行构造object类型对象进行传递。

back(String, JsonObject)

public static func back(url!: String, params!: JsonObject)

返回上一页面或指定的页面。

参数名

参数类型

必填

默认值

描述

url

String

-

表示目标页面的url,可以用以下两种格式:

- 页面绝对路径,由配置文件中pages列表提供,例如:

- pages/index/index

- pages/detail/detail

- 特殊值,如果url的值是"/",则跳转到首页。

JsonObject

String

-

表示路由跳转时要同时传递到目标页面的数据,切换到其他页面时,当前接收的数据失效。跳转到目标页面后,使用router.getParams()获取传递的参数,此外,在类web范式中,参数也可以在页面中直接使用,如this.keyValue(keyValue为跳转时params参数中的key值),如果目标页面中已有该字段,则其值会被传入的字段值覆盖。

说明:

params参数不能传递方法和系统接口返回的对象(例如,媒体接口定义和返回的PixelMap对象)。建议开发者提取系统接口返回的对象中需要被传递的基础类型属性,自行构造object类型对象进行传递。

back()

public static func back()

返回上一页面或指定的页面。

getParams()

public static func getParams(): Option<String>

获取发起跳转的页面往当前页传入的参数。

返回值:

类型

说明

Option<String>

发起跳转的页面往当前页传入的参数。

getParamsObject()

public static func getParamsObject(): JsonObject

获取发起跳转的页面往当前页传入的参数。

返回值:

类型

说明

JsonObject

发起跳转的页面往当前页传入的参数。

示例

import ohos.base.*
    import ohos.component.*
    import ohos.state_manage.*
    import ohos.state_macro_manage.*
    import ohos.router.*
    
    @Entry
    @Component
    class MyView {
        @State var active: Bool = false
        func build() {
            Column() {
       Image(@r(app.media.startIcon)).width(50).height(50).onClick {
                    e => Router.push(url: "Page1")
                }.sharedTransition("sharedImage",
                    options: SharedTransitionOptions(duration: 800, curve: Curve.Linear, delay: 100))
            }
        }
    }

如对您有帮助,帮忙点个“在看 、关注” 让更多的人受益~!