$router(路由)
config/pages.js 路由配置
我们在pages.js中配置页面对应js的别名,和导航条显示文案。
主页的导航条默认是隐藏的,如果需要,便在bmRouter的生命周期 viewWillAppear中调用this.$nav.setNavigationInfo来自行设置。
// config/pages.js
export default {
// 首页
'home': {
url: '/pages/home/index.js',
},
'router.test': {
// 不设置title自动隐藏导航
title: '路由测试页面',
url: '/pages/home/tab2/components/router/index.js',
},
'demo': {
url: '/pages/demo/index.js',
title: '新闻'
}
}
Api:
- url(String):页面相对 js 地址,从 pages/ 下写即可。
- title(String):页面导航显示文案,默认不传或为空则自动隐藏导航条。
$router API:
- $router.open:跳转到一个页面。
- $router.back:返回到之前打开的某个页面。
- $router.getParams:获得open时候传递的参数。
- $router.refresh:重载当前weex实例。
- $router.setBackParams:为返回的页面传递参数。
- $router.toWebView:跳转一个webView页面。
- $router.toMap:跳转高德地图。
- $router.toCallPhone:跳转拨打电话页面。
$router.open:跳转到一个页面。
示例:
this.$router.open({
name: 'demo',
type: 'PUSH'
})
Api:
- name(String):跳转页面别名,在 config/pages.js自行配置。
- type(String):页面打开方式,默认是
PUSH
。PUSH
右侧打开。PRESENT
底部弹出。
- params(Object):需要传递的参数。
- canBack(Boolean):目标页面是否可以返回起始页面。
- navShow(Boolean):是否显示导航条。
- navTitle(String):导航条文案。
statusBarStyle(String):状态栏(电量,信号)样式。
Default
黑色。LightContent
白色。
backCallback(Function):页面返回时的回调。
isRunBackCallback(Boolean):是否触发页面返回时的回调,默认触发。
$router.back:返回之前的路由页面。
示例:
this.$router.back({
length: 2,
type: 'PUSH',
callback() {
// 返回成功回调
}
})
Api:
- length(Number):返回之前的第几个页面,默认是
1
。 type(String):页面打开方式,默认是
PUSH
。PUSH
右侧打开。PRESENT
底部弹出。
callback(Function):页面返回时的回调。
$router.getParams 获取传递的参数。
示例:
this.$router.getParams().then(resData => {
console.log(resData)
})
resData.data 是你在上一个页面中调用 $router.open 跳转传递的 params 参数。
$router.refresh 重新加载并渲染当前 js ,并重新走生命周期。
示例:
this.$router.refresh()
$router.toWebView 打开一个WebView页面。
示例:
this.$router.toWebView({
url: '', // 页面 url
title: '', // title
navShow: true, // 是否显示native端导航栏,默认是true
shareInfo: { // webView 添加了分享功能,如需使用分享请传入一下信息(目前就支持分享到微信朋友圈,微信好友其他如有需要后续添加)
title: '', // 分享的 title
content: '', // 分享的简介
image: '', // 分享的小图片
url: '' // 分享跳转 url
}
})
Api:
- url(String):WebView地址。
- title(String):导航条标题
- navShow(Boolean):需要传递的参数。
- shareInfo(Object):目标页面是否可以返回起始页面。
- title(String):分享的 title。
- content(String):分享的简介。
- image(String):分享的图片链接。
- url(String):分享的跳转url。
$router.toMap 跳转地图页面。
示例:
this.$router.toMap({
type:'NAVIGATION', //type类型:NAVIGATION(表现方式为:地图上添加起点终点标示大头针,终点标示上面有个导航的按钮)
title: '页面标题', //页面标题
navigationInfo: {
title: '', //目的地名称
address: '', //目的地地址
longitude:'', //目的地经度
latitude:'' //目的地纬度
}
})
Api:
- title(String):页面标题。
- type(String):type类型:NAVIGATION(表现方式为:地图上添加起点终点标示大头针,终点标示上面有个导航的按钮)。
- navigationInfo(Object):目标页面是否可以返回起始页面。
- title(String):目的地名称。
- address(String):目的地地址。
- longitude(String):目的地经度。
- latitude(String):目的地纬度。
$router.toCallPhone 跳转拨打电话页面。
示例:
this.$router.toCallPhone('110')
Api:
- phone(String):电话号码。