---
title: router - 页面路由跳转, ray 小程序开发者页面跳转实现方式，如何返回上一页，如何跳转到指定页面，如何关闭所有页面重新加载
---

## router

> 若您有跨端需求，您可以使用 router 对象实现您的路由跳转。


### router.push(url: string) 

跳转到指定页面，参数可以是 hash 形式，也可以是 query 形式

### router.replace(url: string) 

跳转到指定页面，并且替换当前页面，参数可以是 hash 形式，也可以是 query 形式

### router.back() 

返回上一页

### router.go(delta: number) 

跳转到指定的历史页面，delta 为返回的页面数，如果 delta 大于现有页面数，则返回到首页

### router.reload() 

关闭所有页面，重新加载页面


### 引入

```js
import { router } from '@ray-js/ray';
```

### 使用

```ts
/// routers.config.ts
import { Routes } from '@ray-js/types';

export const routes: Routes = [
  {
    route: '/',
    path: '/pages/home/index',
  },
  {
    route: '/detail/:uid',
    path: '/pages/detail/index',
  },
  {
    route: '/my',
    path: '/pages/my/index',
  },
];
```

#### push

```tsx
router.push(url: string)
```

**hash 参数**

```
router.push('/detail/1234')
```

detail 页面的路由配置为 `/detail/:uid`，跳转后可通过 `location.params` 获取路由参数 `uid`。

**query 参数**

```
router.push('/detail/1234?name=tuya')
```

跳转后可通过 `location.query` 获取查询参数 `name`。



> 关于如何获取页面路由参数，请参阅 [location](./location) 文档。
