跳到主要内容

全局配置和页面配置

1. 前言

在开发uni-app 项目过程中,有许多配置项需要我们自己去操作配置,我们最常操作的就是项目的全局配置和页面配置,包括项目的标题栏、底部 Tab 栏、窗口背景色等。

主要通过操作项目根目录下面的 pages.json 文件,来进行项目的全局配置和页面配置。

接下来我们来学习怎样进行项目的配置。

2. 常用配置项属性

下面的这些属性都是用来进行项目配置的。一些常用的配置项,项目创建完成后,会自动帮我们生成,我们需要去了解每个配置项的含义,以及配置项对应的设置条件有哪些限制。

比如导航栏标题颜色样式 navigationBarTextStyle 这一个配置项,仅支持black/white 这两个颜色的设置,很多人会设置成十六进制颜色,比如 #0000FF,这样系统就会识别不了。

属性默认值说明支持平台全局配置页面配置
navigationBarTextStylewhite导航栏标题颜色样式,仅支持 black/white所有
navigationBarTitleText导航栏标题文字内容所有
navigationBarBackgroundColor#F7F7F7导航栏背景颜色所有,默认值小程序平台有差异,以各小程序文档为准
navigationBarShadow导航栏阴影,详见3.2.2所有
navigationStyledefault导航栏样式,仅支持 default/custom微信小程序 7.0+、百度小程序、H5、App(2.0.3+)
disableScrollfalse滚动条微信小程序(iOS)、百度小程序(iOS)
backgroundColor#ffffff下拉显示出来的窗口的背景色微信小程序
backgroundTextStyledark下拉 loading 的样式,仅支持 dark / light微信小程序
enablePullDownRefreshfalse是否开启下拉刷新,详见3.1.1所有
onReachBottomDistance50页面上拉触底事件触发时距页面底部距离,单位只支持px所有
usingComponents引用小程序组件所有
pageOrientationportrait横屏配置,屏幕旋转设置,仅支持 auto / portrait / landscape,详见3.1.2App 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"
},//导航栏阴影
}
},
...
]
}

3.2.2 navigationBarShadow 导航栏阴影

导航栏阴影设置项不是所有的颜色都支持,需要注意哦。

属性描述
colorType阴影的颜色,支持:grey、blue、green、orange、red、yellow

4. 小结

uni-app 项目的配置主要就是这些内容,比较简单,但是很多细节需要我们去注意和掌握。如果掌握不熟练,会在实际开发的过程中埋下很多坑。

本小节主要介绍了 uni-app 项目的全局配置和页面配置,重点如下:

  • 了解几个常用配置项属性的作用;
  • 了解全局配置和页面配置的应用。