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=1
back: (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})