程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 原生微信小程序

    • 小程序入门级配置

    • 模板与配置

      • WXML 模板语法
      • WXSS 模板语法
      • 全局配置
      • 页面配置
        • 1. 页面配置文件的作用
        • 2. 页面配置和全局配置的关系
        • 3. 页面配置中常用的配置项
        • 4. 页面配置项示例
      • 网络数据请求
    • 视图与逻辑

    • 自定义组件

  • uniapp多端开发

  • 小程序开发
  • 原生微信小程序
  • 模板与配置
scholar
2024-10-18
目录

页面配置

# 页面配置

# 1. 页面配置文件的作用

在微信小程序中,每个页面都有一个独立的 .json 配置文件,用于配置该页面的窗口外观、导航栏样式、是否支持下拉刷新等。与全局配置文件(app.json)不同,页面的 .json 文件只影响当前页面的显示效果,允许每个页面根据不同的需求自定义配置。

  • 作用:页面配置文件可以对单个页面的导航栏、背景色、标题等进行个性化设置。它是针对每个页面的局部配置,而不是全局生效。

  • 文件格式:页面的 .json 配置文件是一个标准的 JSON 文件,包含了页面的基本设置,文件名与页面的其他文件(.wxml、.js、.wxss)相同,例如 home.json。

示例:

{
  "navigationBarTitleText": "首页",
  "navigationBarBackgroundColor": "#ffffff",
  "navigationBarTextStyle": "black"
}
1
2
3
4
5

通过这个配置,页面的导航栏标题设置为“首页”,背景色为白色,文字颜色为黑色。

# 2. 页面配置和全局配置的关系

全局配置文件 app.json 和每个页面的 .json 配置文件存在继承关系。当某个页面没有定义其独立的配置项时,会默认继承全局配置的设置。例如,导航栏的样式、窗口背景色等设置,如果页面配置文件中没有定义这些属性,则会使用 app.json 中的全局配置。

  • 全局配置优先:app.json 文件中定义的全局配置会作用于所有页面。
  • 页面配置覆盖全局配置:如果某个页面的 .json 文件中定义了和全局配置相同的配置项,则该页面的设置会覆盖全局配置。

下图展示了页面配置和全局配置之间的继承关系:

页面配置和全局配置的关系

例如:

  • 在 app.json 中配置导航栏背景色为 #000000(黑色)。
  • 但是,在某个页面的 .json 中配置导航栏背景色为 #ffffff(白色),那么该页面会显示白色背景,而其他页面依然显示黑色背景。

# 3. 页面配置中常用的配置项

在页面的 .json 文件中,开发者可以使用多种配置项来控制页面的外观和功能。以下是一些常用的页面配置项:

  1. navigationBarTitleText:设置页面的导航栏标题。

    • 示例:"navigationBarTitleText": "详情页"
  2. navigationBarBackgroundColor:设置导航栏的背景颜色。

    • 示例:"navigationBarBackgroundColor": "#f8f8f8"
  3. navigationBarTextStyle:设置导航栏标题的文字颜色,值可以是 white 或 black。

    • 示例:"navigationBarTextStyle": "black"
  4. enablePullDownRefresh:是否启用下拉刷新功能,值为 true 或 false。启用后,页面可以通过下拉操作刷新数据。

    • 示例:"enablePullDownRefresh": true
  5. backgroundColor:设置页面的背景颜色。可以为全局背景颜色设置不同的页面背景。

    • 示例:"backgroundColor": "#ffffff"
  6. onReachBottomDistance:设置页面滚动到底部的触发距离,通常用于触发“上拉加载更多”的功能。

    • 示例:"onReachBottomDistance": 50
  7. disableScroll:禁用页面的滚动效果,值为 true 或 false。用于固定页面内容,不让页面滚动。

    • 示例:"disableScroll": true

下图展示了页面配置中常用的配置项:

页面配置中常用的配置项

# 4. 页面配置项示例

假设我们有一个页面,需要设置其导航栏标题为“我的页面”,背景色为浅灰色,同时启用下拉刷新功能,并设置页面滚动到底部时触发加载更多的距离为 100px。

页面 mypage.json 文件内容:

{
  "navigationBarTitleText": "我的页面",
  "navigationBarBackgroundColor": "#f0f0f0",
  "navigationBarTextStyle": "black",
  "enablePullDownRefresh": true,
  "backgroundColor": "#f0f0f0",
  "onReachBottomDistance": 100
}
1
2
3
4
5
6
7
8

在这个配置中:

  • 导航栏的标题为“我的页面”。
  • 导航栏的背景色和页面背景色均设置为浅灰色 #f0f0f0。
  • 启用了下拉刷新功能。
  • 当用户滚动页面到距离底部 100px 时,触发加载更多数据的功能。

总结

页面的 .json 配置文件用于为每个页面定制化设置外观和功能。通过灵活配置每个页面的 .json 文件,开发者可以为用户提供更加个性化和优化的页面体验。页面配置和全局配置存在继承关系,如果页面配置文件中没有定义某些属性,页面会自动继承全局配置中的设置。

编辑此页 (opens new window)
上次更新: 2025/01/31, 00:08:39
全局配置
网络数据请求

← 全局配置 网络数据请求→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式