Appearance
router
• Const router: Object
页面导航相关办法 基于 uni-use/useRouter 封装,并增加了一些常见的状态。
See
Type declaration
| Name | Type |
|---|---|
afterEach | (hook: (to: string, from: string) => void) => void |
parseQuery | (queryString: string) => any |
parseUrl | (fullURL: string) => { path: string ; query: any } |
resolveUrl | (path: string, query?: any) => string |
setDefault404Page | (path: string) => void |
stringifyQuery | (params: any) => string |
back | (delta?: number) => Promise<any> |
getPageDelta | (fullURL: string) => number |
push | (url: string, query?: LocationQueryRaw, options?: RouterOptions) => Promise<any> |
receivePrevPageData | (defaultValues?: any) => any |
receiveTabPageOptions | (defaultValues?: any) => any |
relaunch | (url: string, query?: LocationQueryRaw, options?: RouterOptions) => Promise<any> |
replace | (url: string, query?: LocationQueryRaw, options?: RouterOptions) => Promise<any> |
tab | (url: string, query?: LocationQueryRaw, options?: RouterOptions) => Promise<any> |
afterEach: (hook: (to: string, from: string) => void) => void
后置路由守卫
parseQuery: (queryString: string) => any
转换 query 字符串为对象
示例
ts
router.parseQuery('?id=1&a=2') // {id:1, a:2}parseUrl: (fullURL: string) => { path: string ; query: any }
将完整 url 解析成 url 和 query 部分
示例
ts
router.parseUrl('/pages/index/index?id=1&a=2') // {url:'/pages/index/index', query:{id:1, a:2}}resolveUrl: (path: string, query?: any) => string
将 path 和 query 部分组合成完整的 url
示例
ts
const fullURL = router.resolveUrl(url, query)setDefault404Page: (path: string) => void
设置默认的 404 页面路径
示例
ts
// 只在 App.vue 里面设置即可
import {router} from '@ifanrx/uni-mp'
router.setDefault404Page('/pages/not-found/index')stringifyQuery: (params: any) => string
转换 query 对象为字符串
示例
ts
router.stringifyQuery({a: 1}) // ?a=1back: (delta?: number) => Promise<any>
返回上一页
示例
ts
router.back(1)getPageDelta: (fullURL: string) => number
获取某个页面在页面栈中的倒数第几层
示例
ts
const delta = router.getPageDelta('/pages/index/index?id=1')push: (url: string, query?: LocationQueryRaw, options?: RouterOptions) => Promise<any>
跳转到指定页面
示例
ts
router.push('/pages/index/index', {id: 1})receivePrevPageData: (defaultValues?: any) => any
获取上一页页面发送的数据,调用后会清空现有数据,请自行保存数据
示例
ts
const data = router.receivePrevPageData()receiveTabPageOptions: (defaultValues?: any) => any
获取 tab 页面参数,调用后会清空现有数据,请自行保存数据
示例
ts
const options = router.receiveTabPageOptions()relaunch: (url: string, query?: LocationQueryRaw, options?: RouterOptions) => Promise<any>
关闭所有页面,并重定向到新页面
示例
ts
router.relaunch('/pages/index/index', {id: 1})replace: (url: string, query?: LocationQueryRaw, options?: RouterOptions) => Promise<any>
跳转新地址并替换当前页面
示例
ts
router.replace('/pages/index/index', {id: 1})tab: (url: string, query?: LocationQueryRaw, options?: RouterOptions) => Promise<any>
跳转到指定 tab 页面
示例
ts
router.tab('/pages/index/index', {id: 1})