uni-app pages.json常用配置


globalStyle全局配置

pages.json是項目的配置,而這個配置文件里的globalStyle選項是項目的全局樣式配置

用於設置應用的狀態欄、導航條、標題、窗口背景色等。詳細文檔

屬性 類型 默認值 描述
navigationBarBackgroundColor HexColor #F7F7F7 導航欄背景顏色(同狀態欄背景色)
navigationBarTextStyle String white 導航欄標題顏色及狀態欄前景顏色,僅支持 black/white
navigationBarTitleText String 導航欄標題文字內容,注意頁面級配置會覆蓋全局配置
backgroundColor HexColor #ffffff 窗口的背景色
backgroundTextStyle String dark 下拉 loading 的樣式,僅支持 dark / light
enablePullDownRefresh Boolean false 是否開啟下拉刷新,詳見頁面生命周期
onReachBottomDistance Number 50 頁面上拉觸底事件觸發時距頁面底部距離,單位只支持px,詳見頁面生命周期

image-20210315102100527

pages頁面配置

pages.json是項目的配置,而這個配置文件里的pages選項是項目的全局樣式配置

創建新的message頁面

右鍵pages新建message目錄,在message目錄下右鍵新建.vue文件,並選擇基本模板

image-20210315102621872

image-20210315102715013

創建完之后內容如下

<template>
</template>

<script>
</script>

<style>
</style>

隨便寫點兒東西

<template>
	<view>
		hello-uni
	</view>
</template>

<script>
</script>

<style>
</style>

通過pages來配置頁面

屬性 類型 默認值 描述
path String 配置頁面路徑
style Object 配置頁面窗口表現,配置項參考 pageStyle

pages數組數組中第一項表示應用啟動頁

"pages": [ 
		{
			"path":"pages/message/message"
		},
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "uni-app"
			}
		}
	]

例:通過style修改頁面的標題和導航欄背景色,並且設置h5下拉刷新的特有樣式

"pages": [ //pages數組中第一項表示應用啟動頁,參考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/message/message",
			"style": {
				//頁面標題
				"navigationBarTitleText" : "信息頁",
				//導航欄背景顏色
				"navigationBarBackgroundColor": "#007AFF",
				//導航欄標題顏色及狀態欄前景顏色,僅支持 black/white
				"navigationBarTextStyle": "white",
				//是否開啟下拉
				"enablePullDownRefresh": true,
				//設置為 true 則頁面整體不能上下滾動(bounce效果),只在頁面配置中有效,在globalStyle中設置無效
				"disableScroll": true,
				//配置編譯到 H5 平台時的特定樣式
				"h5": {
					//下拉刷新
					"pullToRefresh": {
						"color": "#007AFF"
					}
				}
			}
		},
		{
			"path": "pages/index/index",
			//頁面級配置文件會覆蓋全局的配置
			"style": {
				"navigationBarTitleText": "uni-app"
			}
		}
	],

image-20210315104340999

配置tabbar

https://uniapp.dcloud.io/collocation/pages?id=tabbar

如果應用是一個多 tab 應用,可以通過 tabBar 配置項指定一級導航欄,以及 tab 切換時顯示的對應頁。

在 pages.json 中提供 tabBar 配置,不僅僅是為了方便快速開發導航,更重要的是在App和小程序端提升性能。在這兩個平台,底層原生引擎在啟動時無需等待js引擎初始化,即可直接讀取 pages.json 中配置的 tabBar 信息,渲染原生tab。

Tips

  • 當設置 position 為 top 時,將不會顯示 icon
  • tabBar 中的 list 是一個數組,只能配置最少2個、最多5個 tab,tab 按數組的順序排序。
  • tabbar 切換第一次加載時可能渲染不及時,可以在每個tabbar頁面的onLoad生命周期里先彈出一個等待雪花(hello uni-app使用了此方式)
  • tabbar 的頁面展現過一次后就保留在內存中,再次切換 tabbar 頁面,只會觸發每個頁面的onShow,不會再觸發onLoad。
  • 頂部的 tabbar 目前僅微信小程序上支持。需要用到頂部選項卡的話,建議不使用 tabbar 的頂部設置,而是自己做頂部選項卡,可參考 hello uni-app->模板->頂部選項卡。

屬性說明:

屬性 類型 必填 默認值 描述 平台差異說明
color HexColor tab 上的文字默認顏色
selectedColor HexColor tab 上的文字選中時的顏色
backgroundColor HexColor tab 的背景色
borderStyle String black tabbar 上邊框的顏色,可選值 black/white App 2.3.4+ 支持其他顏色值、H5 3.0.0+
blurEffect String none iOS 高斯模糊效果,可選值 dark/extralight/light/none(參考:使用說明 App 2.4.0+ 支持、H5 3.0.0+(只有最新版瀏覽器才支持)
list Array tab 的列表,詳見 list 屬性說明,最少2個、最多5個 tab
position String bottom 可選值 bottom、top top 值僅微信小程序支持
fontSize String 10px 文字默認大小 App 2.3.4+、H5 3.0.0+
iconWidth String 24px 圖標默認寬度(高度等比例縮放) App 2.3.4+、H5 3.0.0+
spacing String 3px 圖標和文字的間距 App 2.3.4+、H5 3.0.0+
height String 50px tabBar 默認高度 App 2.3.4+、H5 3.0.0+
midButton Object 中間按鈕 僅在 list 項為偶數時有效 App 2.3.4+、H5 3.0.0+

其中 list 接收一個數組,數組中的每個項都是一個對象,其屬性值如下:

屬性 類型 必填 說明
pagePath String 頁面路徑,必須在 pages 中先定義
text String tab 上按鈕文字,在 App 和 H5 平台為非必填。例如中間可放一個沒有文字的+號圖標
iconPath String 圖片路徑,icon 大小限制為40kb,建議尺寸為 81px * 81px,當 postion 為 top 時,此參數無效,不支持網絡圖片,不支持字體圖標
selectedIconPath String 選中時的圖片路徑,icon 大小限制為40kb,建議尺寸為 81px * 81px ,當 postion 為 top 時,此參數無效

示例:基本使用

pagePath頁面路徑,必須在 pages 選項中先定義path

pages

"pages": [ //pages數組中第一項表示應用啟動頁,參考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/message/message",
		},
		{
			"path": "pages/index/index",
			//頁面級配置文件會覆蓋全局的配置
			"style": {
				"navigationBarTitleText": "uni-app"
			}
		},
		{
			"path": "pages/contact/contact"
		}
	],

tabBar

"tabBar": {
		"list": [{
				"text": "首頁",
				"pagePath": "pages/index/index",
				"iconPath": "static/tabs/home.png",
				"selectedIconPath": "static/tabs/home-active.png"
			},
			{
				"text": "信息",
				"pagePath": "pages/message/message",
				"iconPath": "static/tabs/message.png",
				"selectedIconPath": "static/tabs/message-active.png"
			},
			{
				"text": "我們",
				"pagePath": "pages/contact/contact",
				"iconPath": "static/tabs/contact.png",
				"selectedIconPath": "static/tabs/contact-active.png"
			}
		]
	},

image-20210315111810718

示例:tabbar其他屬性的使用

"tabBar": {
		//tab 上的文字默認顏色
		"color" : "#0000ff",
		//tab 上的文字選中時的顏色
		"selectedColor" : "#DD524D",
		//tab 的背景色
		"backgroundColor" : "#555555",
		//	tabbar 上邊框的顏色,僅支持 black/white
		"borderStyle" : "white",
		//可選值 bottom、top .top 值僅微信小程序支持
		"position": "top",
		"list": [{
				"text": "首頁",
				"pagePath": "pages/index/index",
				"iconPath": "static/tabs/home.png",
				"selectedIconPath": "static/tabs/home-active.png"
			},
			{
				"text": "信息",
				"pagePath": "pages/message/message",
				"iconPath": "static/tabs/message.png",
				"selectedIconPath": "static/tabs/message-active.png"
			},
			{
				"text": "我們",
				"pagePath": "pages/contact/contact",
				"iconPath": "static/tabs/contact.png",
				"selectedIconPath": "static/tabs/contact-active.png"
			}
		]
	},

image-20210315120106529

condition啟動模式配置

https://uniapp.dcloud.io/collocation/pages?id=condition

啟動模式配置,僅開發期間生效,用於模擬直達頁面的場景,如:小程序轉發后,用戶點擊所打開的頁面。

屬性說明:

屬性 類型 是否必填 描述
current Number 當前激活的模式,list節點的索引值
list Array 啟動模式列表

list說明:

屬性 類型 是否必填 描述
name String 啟動模式名稱
path String 啟動頁面路徑
query String 啟動參數,可在頁面的 onLoad 函數里獲得

例:微信小程序模擬用戶點擊進入詳情頁

創建詳情頁

<template>
	<view>這是詳情頁</view>
</template>

<script>
</script>

<style>
</style>

配置

加入到pages里,配置頁面路徑

{
	"path": "pages/detail/detail"
}

condition配置

"condition": { //模式配置,僅開發期間生效
		"current": 0, //當前激活的模式(list 的索引項)
		"list": [{
			"name": "詳情頁", //模式名稱
			"path": "pages/detail/detail", //啟動頁面,必選
			"query": "id=50" //啟動參數,在頁面的onLoad函數里面得到
		}]
	}

訪問

對於h5頁面來說,只需要訪問pages里面配置的path路徑即可

image-20210315141120243

但是微信小程序不能輸路徑吧,這時候condition的作用就出來了,你打開調試的項目,如果你配置了condition你會發現,多了個你配置的頁面

image-20210315141315647

點擊進入

image-20210315141501955

點擊頁面參數

image-20210315141524236

這樣我們就可以方便的進行調式了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM