亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

全局配置和頁面配置

1. 前言

在開發uni-app 項目過程中,有許多配置項需要我們自己去操作配置,我們最常操作的就是項目的全局配置和頁面配置,包括項目的標題欄、底部 Tab 欄、窗口背景色等。

主要通過操作項目根目錄下面的 pages.json 文件,來進行項目的全局配置和頁面配置。

接下來我們來學習怎樣進行項目的配置。

2. 常用配置項屬性

下面的這些屬性都是用來進行項目配置的。一些常用的配置項,項目創建完成后,會自動幫我們生成,我們需要去了解每個配置項的含義,以及配置項對應的設置條件有哪些限制。

比如導航欄標題顏色樣式 navigationBarTextStyle 這一個配置項,僅支持black/white 這兩個顏色的設置,很多人會設置成十六進制顏色,比如 #0000FF,這樣系統就會識別不了。

屬性 默認值 說明 支持平臺 全局配置 頁面配置
navigationBarTextStyle white 導航欄標題顏色樣式,僅支持 black/white 所有 ? ?
navigationBarTitleText 導航欄標題文字內容 所有 ? ?
navigationBarBackgroundColor #F7F7F7 導航欄背景顏色 所有,默認值小程序平臺有差異,以各小程序文檔為準 ? ?
navigationBarShadow 導航欄陰影,詳見3.2.2 所有 ?
navigationStyle default 導航欄樣式,僅支持 default/custom 微信小程序 7.0+、百度小程序、H5、App(2.0.3+) ? ?
disableScroll false 滾動條 微信小程序(iOS)、百度小程序(iOS) ?
backgroundColor #ffffff 下拉顯示出來的窗口的背景色 微信小程序 ? ?
backgroundTextStyle dark 下拉 loading 的樣式,僅支持 dark / light 微信小程序 ? ?
enablePullDownRefresh false 是否開啟下拉刷新,詳見3.1.1 所有 ? ?
onReachBottomDistance 50 頁面上拉觸底事件觸發時距頁面底部距離,單位只支持px 所有 ? ?
usingComponents 引用小程序組件 所有 ? ?
pageOrientation portrait 橫屏配置,屏幕旋轉設置,僅支持 auto / portrait / landscape,詳見3.1.2 App 2.4.7+、微信小程序 ?

3. 配置項應用

接下來我們通過實例來了解一下各個配置項的應用。

3.1 全局配置

全局配置作用于整個項目,也就是對項目中所有的頁面都起作用,在項目根目錄下面的 pages.json 文件中,找到globalStyle配置項,在這個配置項中進行項目的全局配置。

實例:

"globalStyle": {
  "navigationBarTextStyle": "black", //導航欄標題顏色
  "navigationBarTitleText": "慕課網", //導航欄標題文字
  "navigationBarBackgroundColor": "#F8F8F8", //導航欄背景顏色
  "backgroundColor": "#F8F8F8", //下拉窗口背景顏色
  "backgroundTextStyle":light, //下拉 loading 的樣式
  "enablePullDownRefresh":true, //開啟下拉刷新
  "onReachBottomDistance":60,//頁面上拉觸發距頁面底部距離為60
  "usingComponents":{
    "collapse-tree-item":"/components/collapse-tree-item"
  },//引用小程序組件
  "pageOrientation": "auto"//支持屏幕旋轉
},

3.1.1 enablePullDownRefresh 下拉刷新

想要實現頁面下拉刷新的效果,需要先在配置文件中將 enablePullDownRefresh 設置為 true,再在.vue頁面文件中配合 onPullDownRefresh 函數進行頁面下拉效果的實現。

這里很多人會忘記在配置文件中設置 enablePullDownRefresh 配置項,導致下拉效果失靈。
實例:

//pages.json 文件
"globalStyle": {
"enablePullDownRefresh":true
}
//頁面.vue文件
onPullDownRefresh() {
  console.log('refresh');
  //用stopPullDownRefresh結束下拉
  uni.stopPullDownRefresh();
}

3.1.2 pageOrientation 屏幕旋轉設置

這個屬性可以設置為 auto、portrait、landscape。分別代表啟用屏幕旋轉、固定為豎屏顯示、固定為橫屏顯示。默認值為 portrait 固定為豎屏顯示。

這個屬性,通常可以使用 js 作為輔助,用 js 讀取頁面的顯示區域尺寸,來進行屏幕方向的監聽,每次屏幕旋轉時都會調用這個方法。需要注意的是,在模擬器上面不會觸發這個方法,需要使用真機調試才能觸發。
實例:

Page({
  onResize(res) {
    res.size.windowWidth // 新的顯示區域寬度
    res.size.windowHeight // 新的顯示區域高度
  }
})

3.2 頁面配置

頁面配置只作用于單個頁面,與全局配置沖突的地方,頁面配置會覆蓋掉全局配置。在項目根目錄下面的 pages.json 文件中,找到 pages 配置項里面的 style 來進行頁面配置。

3.2.1 配置項屬性

屬性 描述
path 頁面路徑
style 頁面窗口表現,配置項詳見1

實例:

{
  "pages": [{
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首頁", //設置頁面標題文字
        "disableScroll": true, //設置為true則頁面整體不能上下滾動
        "enablePullDownRefresh":true, //開啟下拉刷新
        "navigationBarShadow": {  
          "colorType": "green"
        },//導航欄陰影
      }
    },
    ...
  ]
}

導航欄陰影設置項不是所有的顏色都支持,需要注意哦。

屬性 描述
colorType 陰影的顏色,支持:grey、blue、green、orange、red、yellow

4. 小結

uni-app 項目的配置主要就是這些內容,比較簡單,但是很多細節需要我們去注意和掌握。如果掌握不熟練,會在實際開發的過程中埋下很多坑。
本小節主要介紹了 uni-app 項目的全局配置和頁面配置,重點如下:

  • 了解幾個常用配置項屬性的作用;
  • 了解全局配置和頁面配置的應用。