# 页面路由 router

# 接口声明

无需声明

# 导入模块

import router from '@system.router'const router = require('@system.router')
1

# 接口定义

# router.push(OBJECT)

跳转到应用内的某个页面。

# 参数:

参数 类型 必填 说明
uri String 要跳转到的 uri,可以是下面的格式:
1. 以"/"开头的应用内页面的路径;例:/about。
2. 以非"/"开头的应用内页面的名称;例:About。
3. 特殊的,如果 uri 的值是"/",则跳转到 path 为"/"的页,没有则跳转到首页
4. 如果 schema 是 hap,会跳转到 hap 链接所支持的类型
params Object 跳转时需要传递的数据;跳转到快应用页面时,参数可以在目标页面中通过this.param1的方式使用,param1 为 json 中的参数名,param1 对应的值会统一转换为 String 类型。

# 示例:

  • 应用内切换页面

    • path 切换
      router.push({
        uri: '/about',
        params: {
          testId: '1'
        }
      })
      
      1
      2
      3
      4
      5
      6
    • name 切换
      // open page by name
      router.push({
        uri: 'About',
        params: {
          testId: '1'
        }
      })
      
      1
      2
      3
      4
      5
      6
      7
  • 打开另一个快应用

    router.push({
      uri: 'hap://app/com.example.quickapp/page?key=value'
    })
    
    1
    2
    3

# router.replace(OBJECT)

跳转到应用内的某个页面,当前页面无法返回

# 参数:

参数 类型 必填 说明
uri String 要跳转到的 uri,可以是下面的格式:
  1. 以"/"开头的应用内页面的路径;例:/about。
  2. 以非"/"开头的应用内页面的名称;例:About。
  3. 特殊的,如果 uri 的值是"/",则跳转到 path 为"/"的页,没有则跳转到首页
params Object 跳转时需要传递的数据,参数可以在目标页面中通过this.param1的方式使用,param1 为 json 中的参数名,param1 对应的值会统一转换为 String 类型。

# 示例:

router.replace({
  uri: '/test',
  params: {
    testId: '1'
  }
})
1
2
3
4
5
6

# router.back()

返回上一页面

# 示例:

// A页面, open page by name
router.push({
  uri: 'B'
})
// B页面, open page by name
router.push({
  uri: 'C'
})
// C页面, open page by name
router.push({
  uri: 'D'
})
// D页面, open page by name
router.push({
  uri: 'E'
})
// E页面返回至D页面
router.back()
// D页面返回至C页面
router.back()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# router.clear()

清空所有历史页面记录,仅保留当前页面

# 参数:

# 示例:

router.clear()
1

# router.getState()

获取当前页面状态

# 返回参数:

参数名 类型 说明
index Number 当前页面在页面栈中的位置
name String 当前页面的名称
path String 当前页面的路径

# 示例:

var page = router.getState()
console.log(`page index = ${page.index}`)
console.log(`page name = ${page.name}`)
console.log(`page path = ${page.path}`)
1
2
3
4