在標(biāo)準(zhǔn)版開發(fā)的實(shí)際使用中,隨著用戶移動(dòng)端的產(chǎn)品和信息內(nèi)容不斷增多,新增頁面來展示對(duì)應(yīng)的產(chǎn)品詳情、模塊等內(nèi)容。針對(duì)一些概念或者步驟較多的內(nèi)容,可以新增子頁面構(gòu)建多級(jí)模塊結(jié)構(gòu),幫助用戶快速定位。
下面就如何新增頁面做一講解:
1.在pages目錄下新增頁面組件文件夾及文件,例如:
pages/newPage/NewPage.vue
2.添加對(duì)應(yīng)路由
pages.json
文件用來對(duì) uni-app 進(jìn)行全局配置,決定頁面文件的路徑、窗口樣式、原生的導(dǎo)航欄、底部的原生tabbar 等。
它類似微信小程序中app.json
的頁面管理部分。注意定位權(quán)限申請(qǐng)等原屬于app.json
的內(nèi)容,在uni-app中是在manifest中配置。
1) 如果是tab頁
現(xiàn)在頂部添加路由地址
"pages": [
{
"path":"pages/newPage/newPage",
"style": {
"navigationBarTitleText": "新頁面"
}
}
]
2.在底部tabBar中的list數(shù)組中添加對(duì)應(yīng)配置
2. 如果是正常模塊內(nèi)容
1)存在對(duì)應(yīng)模塊
在對(duì)應(yīng)模塊的分包中添加對(duì)應(yīng)路由即可。
2)不存在模塊需在subPackages中新增分包模塊,在按照上一步進(jìn)行創(chuàng)建頁面路由。
到這里創(chuàng)建頁面介紹完了,還需要給大家介紹一下pages.json其中的兩個(gè)屬性,以便大家可以調(diào)整標(biāo)題及狀態(tài)欄。
第一個(gè) globalStyle 用于設(shè)置應(yīng)用的狀態(tài)欄、導(dǎo)航條、標(biāo)題、窗口背景色等。(全局的喔)
表1
屬性 | 類型 | 默認(rèn)值 | 描述 | 平臺(tái)差異說明 |
---|---|---|---|---|
navigationBarBackgroundColor | HexColor | #F8F8F8 | 導(dǎo)航欄背景顏色(同狀態(tài)欄背景色) | APP與H5為#F8F8F8,小程序平臺(tái)請(qǐng)參考相應(yīng)小程序文檔 |
navigationBarTextStyle | String | black | 導(dǎo)航欄標(biāo)題顏色及狀態(tài)欄前景顏色,僅支持 black/white | 支付寶小程序不支持,請(qǐng)使用 my.setNavigationBar |
navigationBarTitleText | String | 導(dǎo)航欄標(biāo)題文字內(nèi)容 | ||
navigationStyle | String | default | 導(dǎo)航欄樣式,僅支持 default/custom。custom即取消默認(rèn)的原生導(dǎo)航欄,需看使用注意 | 微信小程序 7.0+、百度小程序、H5、App(2.0.3+) |
backgroundColor | HexColor | #ffffff | 下拉顯示出來的窗口的背景色 | 微信小程序 |
backgroundTextStyle | String | dark | 下拉 loading 的樣式,僅支持 dark / light | 微信小程序 |
enablePullDownRefresh | Boolean | false | 是否開啟下拉刷新,詳見頁面生命周期。 | |
onReachBottomDistance | Number | 50 | 頁面上拉觸底事件觸發(fā)時(shí)距頁面底部距離,單位只支持px,詳見頁面生命周期 | |
backgroundColorTop | HexColor | #ffffff | 頂部窗口的背景色(bounce回彈區(qū)域) | 僅 iOS 平臺(tái) |
backgroundColorBottom | HexColor | #ffffff | 底部窗口的背景色(bounce回彈區(qū)域) | 僅 iOS 平臺(tái) |
titleImage | String | 導(dǎo)航欄圖片地址(替換當(dāng)前文字標(biāo)題),支付寶小程序內(nèi)必須使用https的圖片鏈接地址 | 支付寶小程序、H5、APP | |
transparentTitle | String | none | 導(dǎo)航欄整體(前景、背景)透明設(shè)置。支持 always 一直透明 / auto 滑動(dòng)自適應(yīng) / none 不透明 | 支付寶小程序、H5、APP |
titlePenetrate | String | NO | 導(dǎo)航欄點(diǎn)擊穿透 | 支付寶小程序、H5 |
pageOrientation | String | portrait | 橫屏配置,屏幕旋轉(zhuǎn)設(shè)置,僅支持 auto / portrait / landscape 詳見 響應(yīng)顯示區(qū)域變化 | App 2.4.7+、微信小程序、QQ小程序 |
animationType | String | pop-in | 窗口顯示的動(dòng)畫效果,詳見:窗口動(dòng)畫 | App |
animationDuration | Number | 300 | 窗口顯示動(dòng)畫的持續(xù)時(shí)間,單位為 ms | App |
app-plus | Object | 設(shè)置編譯到 App 平臺(tái)的特定樣式,配置項(xiàng)參考下方 app-plus | App | |
h5 | Object | 設(shè)置編譯到 H5 平臺(tái)的特定樣式,配置項(xiàng)參考下方 H5 | H5 | |
mp-alipay | Object | 設(shè)置編譯到 mp-alipay 平臺(tái)的特定樣式,配置項(xiàng)參考下方 MP-ALIPAY | 支付寶小程序 | |
mp-weixin | Object | 設(shè)置編譯到 mp-weixin 平臺(tái)的特定樣式,配置項(xiàng)參考下方 MP-WEIXIN | 微信小程序 | |
mp-baidu | Object | 設(shè)置編譯到 mp-baidu 平臺(tái)的特定樣式,配置項(xiàng)參考下方 MP-BAIDU | 百度小程序 | |
mp-toutiao | Object | 設(shè)置編譯到 mp-toutiao 平臺(tái)的特定樣式 | 抖音小程序 | |
mp-lark | Object | 設(shè)置編譯到 mp-lark 平臺(tái)的特定樣式 | 飛書小程序 | |
mp-qq | Object | 設(shè)置編譯到 mp-qq 平臺(tái)的特定樣式 | QQ小程序 | |
mp-kuaishou | Object | 設(shè)置編譯到 mp-kuaishou 平臺(tái)的特定樣式 | 快手小程序 | |
mp-jd | Object | 設(shè)置編譯到 mp-jd 平臺(tái)的特定樣式 | 京東小程序 | |
usingComponents | Object | 引用小程序組件,參考 小程序組件 | ||
renderingMode | String | 同層渲染,webrtc(實(shí)時(shí)音視頻) 無法正常時(shí)嘗試配置 seperated 強(qiáng)制關(guān)掉同層 | 微信小程序 | |
leftWindow | Boolean | true | 當(dāng)存在 leftWindow 時(shí),默認(rèn)是否顯示 leftWindow | H5 |
topWindow | Boolean | true | 當(dāng)存在 topWindow 時(shí),默認(rèn)是否顯示 topWindow | H5 |
rightWindow | Boolean | true | 當(dāng)存在 rightWindow 時(shí),默認(rèn)是否顯示 rightWindow | H5 |
rpxCalcMaxDeviceWidth | Number | 960 | rpx 計(jì)算所支持的最大設(shè)備寬度,單位 px | App(vue2 且不含 nvue)、H5(2.8.12+) |
rpxCalcBaseDeviceWidth | Number | 375 | rpx 計(jì)算使用的基準(zhǔn)設(shè)備寬度,設(shè)備實(shí)際寬度超出 rpx 計(jì)算所支持的最大設(shè)備寬度時(shí)將按基準(zhǔn)寬度計(jì)算,單位 px | App(vue2 且不含 nvue)、H5(2.8.12+) |
rpxCalcIncludeWidth | Number | 750 | rpx 計(jì)算特殊處理的值,始終按實(shí)際的設(shè)備寬度計(jì)算,單位 rpx | App(vue2 且不含 nvue)、H5(2.8.12+) |
dynamicRpx | Boolean | false | 動(dòng)態(tài) rpx,屏幕大小變化會(huì)重新渲染 rpx | App-nvue(vue3 固定值為 true) 3.2.13+ |
maxWidth | Number | 單位px,當(dāng)瀏覽器可見區(qū)域?qū)挾却笥趍axWidth時(shí),兩側(cè)留白,當(dāng)小于等于maxWidth時(shí),頁面鋪滿;不同頁面支持配置不同的maxWidth;maxWidth = leftWindow(可選)+page(頁面主體)+rightWindow(可選) | H5(2.9.9+) |
第二個(gè) style 用于設(shè)置每個(gè)頁面的狀態(tài)欄、導(dǎo)航條、標(biāo)題、窗口背景色等。
頁面中配置項(xiàng)會(huì)覆蓋 globalStyle 中相同的配置項(xiàng)
屬性 | 類型 | 默認(rèn)值 | 描述 | 平臺(tái)差異說明 |
---|---|---|---|---|
navigationBarBackgroundColor | HexColor | #F8F8F8 | 導(dǎo)航欄背景顏色(同狀態(tài)欄背景色) | APP與H5為#F8F8F8,小程序平臺(tái)請(qǐng)參考相應(yīng)小程序文檔 |
navigationBarTextStyle | String | black | 導(dǎo)航欄標(biāo)題顏色及狀態(tài)欄前景顏色,僅支持 black/white | |
navigationBarTitleText | String | 導(dǎo)航欄標(biāo)題文字內(nèi)容 | ||
navigationBarShadow | Object | 導(dǎo)航欄陰影,配置參考下方 導(dǎo)航欄陰影 | ||
navigationStyle | String | default | 導(dǎo)航欄樣式,僅支持 default/custom。custom即取消默認(rèn)的原生導(dǎo)航欄,需看使用注意 | 微信小程序 7.0+、百度小程序、H5、App(2.0.3+) |
disableScroll | Boolean | false | 設(shè)置為 true 則頁面整體不能上下滾動(dòng)(bounce效果),只在頁面配置中有效,在globalStyle中設(shè)置無效 | 微信小程序(iOS)、百度小程序(iOS) |
backgroundColor | HexColor | #ffffff | 窗口的背景色 | 微信小程序、百度小程序、抖音小程序、飛書小程序、京東小程序 |
backgroundTextStyle | String | dark | 下拉 loading 的樣式,僅支持 dark/light | |
enablePullDownRefresh | Boolean | false | 是否開啟下拉刷新,詳見頁面生命周期。 | |
onReachBottomDistance | Number | 50 | 頁面上拉觸底事件觸發(fā)時(shí)距頁面底部距離,單位只支持px,詳見頁面生命周期 | |
backgroundColorTop | HexColor | #ffffff | 頂部窗口的背景色(bounce回彈區(qū)域) | 僅 iOS 平臺(tái) |
backgroundColorBottom | HexColor | #ffffff | 底部窗口的背景色(bounce回彈區(qū)域) | 僅 iOS 平臺(tái) |
disableSwipeBack | Boolean | false | 是否禁用滑動(dòng)返回 | App-iOS(3.4.0+) |
titleImage | String | 導(dǎo)航欄圖片地址(替換當(dāng)前文字標(biāo)題),支付寶小程序內(nèi)必須使用https的圖片鏈接地址 | 支付寶小程序、H5、App | |
transparentTitle | String | none | 導(dǎo)航欄透明設(shè)置。支持 always 一直透明 / auto 滑動(dòng)自適應(yīng) / none 不透明 | 支付寶小程序、H5、APP |
titlePenetrate | String | NO | 導(dǎo)航欄點(diǎn)擊穿透 | 支付寶小程序、H5 |
app-plus | Object | 設(shè)置編譯到 App 平臺(tái)的特定樣式,配置項(xiàng)參考下方 app-plus | App | |
h5 | Object | 設(shè)置編譯到 H5 平臺(tái)的特定樣式,配置項(xiàng)參考下方 H5 | H5 | |
mp-alipay | Object | 設(shè)置編譯到 mp-alipay 平臺(tái)的特定樣式,配置項(xiàng)參考下方 MP-ALIPAY | 支付寶小程序 | |
mp-weixin | Object | 設(shè)置編譯到 mp-weixin 平臺(tái)的特定樣式 | 微信小程序 | |
mp-baidu | Object | 設(shè)置編譯到 mp-baidu 平臺(tái)的特定樣式 | 百度小程序 | |
mp-toutiao | Object | 設(shè)置編譯到 mp-toutiao 平臺(tái)的特定樣式 | 抖音小程序 | |
mp-lark | Object | 設(shè)置編譯到 mp-lark 平臺(tái)的特定樣式 | 飛書小程序 | |
mp-qq | Object | 設(shè)置編譯到 mp-qq 平臺(tái)的特定樣式 | QQ小程序 | |
mp-kuaishou | Object | 設(shè)置編譯到 mp-kuaishou 平臺(tái)的特定樣式 | 快手小程序 | |
mp-jd | Object | 設(shè)置編譯到 mp-jd 平臺(tái)的特定樣式 | 京東小程序 | |
usingComponents | Object | 引用小程序組件,參考 小程序組件 | App、微信小程序、支付寶小程序、百度小程序、京東小程序 | |
leftWindow | Boolean | true | 當(dāng)存在 leftWindow時(shí),當(dāng)前頁面是否顯示 leftWindow | H5 |
topWindow | Boolean | true | 當(dāng)存在 topWindow 時(shí),當(dāng)前頁面是否顯示 topWindow | H5 |
rightWindow | Boolean | true | 當(dāng)存在 rightWindow時(shí),當(dāng)前頁面是否顯示 rightWindow | H5 |
maxWidth | Number | 單位px,當(dāng)瀏覽器可見區(qū)域?qū)挾却笥趍axWidth時(shí),兩側(cè)留白,當(dāng)小于等于maxWidth時(shí),頁面鋪滿;不同頁面支持配置不同的maxWidth;maxWidth = leftWindow(可選)+page(頁面主體)+rightWindow(可選) | H5(2.9.9+) |
【表1.2引自u(píng)niapp官方文檔】
以上步驟即可在CRMEB標(biāo)準(zhǔn)版商城uni-app中增加自定義頁面。