跳转到内容

页面路由

无需声明

import router from '@blueos.app.appmanager.router' const router = require('@blueos.app.appmanager.router')

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

参数类型必填说明
uriString要跳转到的 uri,可以是下面的格式:
1. 以”/“开头的应用内页面的路径;例:/about。
2. 以非”/“开头的应用内页面的名称;例:About。
3. 特殊的,如果 uri 的值是”/“,则跳转到 path 为”/“的页,没有则跳转到首页
paramsObject跳转时需要传递的数据;跳转到蓝河应用页面时,参数可以在目标页面中通过this.param1的方式使用,param1 为 json 中的参数名,param1 对应的值会统一转换为 String 类型。
transitionObject设置当前跳转的转场动画,优先级高于 router.setTransition
属性类型必填说明
forwardObject路由进入页面时的动效
backObject路由返回页面时的动效
属性类型必填说明
exitTransitionAnimation即将退出的页面动画
enterTransitionAnimation即将出现的页面动画
  • 应用内切换页面

    • path 切换

      router.push({
      uri: '/about',
      params: {
      testId: '1',
      },
      })
    • name 切换

      // open page by name
      router.push({
      uri: 'About',
      params: {
      testId: '1',
      },
      })
  • 打开另一个应用

    • 指定 deeplink 打开

      router.push({
      uri: 'hap://app/com.vivo.bind/pages/bindmain?key=value',
      })

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

参数类型必填说明
uriString要跳转到的 uri,可以是下面的格式:
  1. 以”/“开头的应用内页面的路径;例:/about。
  2. 以非”/“开头的应用内页面的名称;例:About。
  3. 特殊的,如果 uri 的值是”/“,则跳转到 path 为”/“的页,没有则跳转到首页

| | params | Object | 否 | 跳转时需要传递的数据,参数可以在目标页面中通过this.param1的方式使用,param1 为 json 中的参数名,param1 对应的值会统一转换为 String 类型。 |

router.replace({
uri: '/test',
params: {
testId: '1',
},
})

返回上一页面

// 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()

清空所有历史页面记录,仅保留当前页面(即保留栈顶页面)

router.clear()

获取当前页面状态

参数名类型说明
indexNumber当前页面在页面栈中的位置
nameString当前页面的名称
pathString当前页面的路径
const page = router.getState()
console.log(`page index = ${page.index}`)
console.log(`page name = ${page.name}`)
console.log(`page path = ${page.path}`)

设置应用默认转场动画

属性类型必填说明
forwardObject路由进入页面时的动效
backObject路由返回页面时的动效
属性类型必填说明
exitTransitionAnimation即将退出的页面动画
enterTransitionAnimation即将出现的页面动画
router.setTransition({
forward: {
enter: 'fadeIn',
exit: 'fadeOut',
},
back: {
enter: 'fadeIn',
exit: 'fadeOut',
},
})

支持别名内置动画

系统提供内置动画,类型为 String。

别名适用情况描述
slideInLeft打开页面左侧滑入
slideOutRight关闭页面右侧滑出
fadeIn打开页面淡入
fadeOut关闭页面淡出
none打开/关闭页面无动效,瞬间显示/瞬间隐藏
zoomIn打开/关闭页面放大
zoomOut打开/关闭页面缩小