目录
一、路由
二、如何管理页面及路由?
json%20%E9%A1%B5%E9%9D%A2%E8%B7%AF%E7%94%B1-toc" style="margin-left:0px;">三、pages.json 页面路由
四、 tabBar
一、路由
路由:在前端,往往指代用不同地址请求不同页面,决定了用户如何在应用的不同页面之间导航。
菜单:对于每个路径(路由),跳转
二、如何管理页面及路由?
uniapp管理路由的方式:pages.json维护,框架统一管理。
uni-app 通过 pages 节点配置应用由哪些页面组成,pages 节点接收一个数组,数组每个项都是一个对象,其属性值如下:
path: String类型,用于配置页面路径,(路由)style: Object类型,用于配置页面窗口表现,配置项参考uniapp中pageStyle,(样式)needLogin:Boolean类型 默认false,表示是否需要登录才可访问
Tips:
-
pages节点的第一项为应用入口页(即首页)
-
应用中新增/减少页面,都需要对 pages 数组进行修改
-
文件名不需要写后缀,框架会自动寻找路径下的页面资源
代码示例:
开发目录为:
┌─pages
│ ├─index
│ │ └─index.vue
│ └─login
│ └─login.vue
├─static
├─main.js
├─App.vue
├─manifest.json
└─pages.json
json%20%E9%A1%B5%E9%9D%A2%E8%B7%AF%E7%94%B1">三、pages.json 页面路由
pages.json
文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等。
导航栏高度为 44px (不含状态栏),tabBar 高度为 50px (不含安全区)。
它类似微信小程序中app.json
的页面管理部分。注意定位权限申请等原属于app.json
的内容,在uni-app中是在manifest中配置。
pages.json
文件中页面路由部分代码示意如下 :
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages{"path": "pages/index/index","style": {"navigationBarTitleText": "uni-app"}},{"path": "pages/order/index","style": {"navigationBarTitleText": "","navigationBarBackgroundColor": "#FFFFFF"}},{"path": "pages/user/index","style": {"navigationBarTitleText": "","navigationBarBackgroundColor": "#FFFFFF"}}
]
四、 tabBar
如果应用是一个多 tab 应用,可以通过 tabBar 配置项指定一级导航栏,以及 tab 切换时显示的对应页。
代码示例
"tabBar": {"color": "#535353", //字体颜色"selectedColor": "#0bb584", //选中的颜色"borderStyle": "white", //边框(默认为黑色(black)"backgroundColor": "#ffffff","list": [{"pagePath": "pages/index/index","iconPath": "static/resource/tab_index.png","selectedIconPath": "static/resource/tab_index_seled.png","text": "首页"}, {"pagePath": "pages/order/index","iconPath": "static/resource/tab_pub.png","selectedIconPath": "static/resource/tab_pub_seled.png","text": "订单"}, {"pagePath": "pages/user/index","iconPath": "static/resource/tab_user.png","selectedIconPath": "static/resource/tab_user_seled.png","text": "我的"}]
}