Uni-app路由

来自CloudWiki
跳转至: 导航搜索

路由

uni-app页面路由为框架统一管理,开发者需要在pages.json里配置每个路由页面的路径和页面样式。类似的小程序在app.json中配置页面路由相同。所以uni-app的路由用法与Vue Router不同,如仍希望采用Vue Router方式管理路由,可在插件市场搜索Vue-Router。

pages.json:

"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "uni-app"
			},
			"style": {
			         "navigationBarTextStyle": "white", // 导航栏标题颜色及状态栏前景颜色,仅支持 black/white,默认值:white
			         "navigationBarTitleText": "页面自定义标题", // 导航栏标题文字内容
			         "navigationBarBackgroundColor": "#028939", // 导航栏背景颜色(同状态栏背景色),默认值:#F7F7F7  
			         "backgroundColor": "#F8F8F8" // 下拉显示出来的窗口的背景色,默认值:#ffffff   
			}
		}
	    ,{
            "path" : "pages/list/list",
            "style" :                                                                                    
            {
                "navigationBarTitleText": "",
                "enablePullDownRefresh": false
            }
            
        }
    ],


路由路由

uni-app有两种页面路由重定向方式:使用导航器组件扩展,调用API重定向。

页面栈

框架以栈的形式管理当前所有页面,当发生路由切换的时候,页面栈的表现如下:

路由方式	页面栈表现	触发时机
初始化	新页面入栈	uni-app:的第一个页面
:新页面	新页面入栈	调用API   uni.navigateTo  ,使用组件   <navigator open-type =“ navigate” />
页面重启	当前页面出栈,新页面入栈	调用API   uni.redirectTo  ,使用组件  <navigator open-type =“ redirectTo” />
页面返回	页面不断出栈,直到目标返回页	调用API   uni.navigateBack   ,使用组件  <navigator open-type =“ navigateBack” />  ,用户按左上角返回按钮,安卓用户点击物理后退键
标签切换	页面全部出栈,只留下新的标签页面	调用API   uni.switchTab   ,使用组件  <navigator open-type =“ switchTab” />   ,用户切换Tab
重加载	页面全部出栈,只留下新的页面	调用API   uni.reLaunch   ,使用组件   <navigator open-type =“ reLaunch” />