Taro v4框架开发微信小程序(窗口与页面)

窗口与页面的区别

在小程序的开发中,"窗口"和"页面"是两个不同的概念,它们分别代表不同的层级和功能:

  1. 窗口(Window) :指的是小程序的显示区域。在小程序的src/app.config.ts全局配置中,可以设置窗口的一些属性,例如背景色、文字颜色、导航条样式等。

  2. 页面(Page):页面则是小程序内的每一个单独界面,通常对应着小程序的一个功能模块。开发者可以为每个页面设置独立的配置,包括窗口的一些特有样式。页面会在窗口内进行展示,小程序中的导航就是在不同页面间跳转。

设置微信小程序的窗口背景色

要改变窗口的背景色,我们可以在src/app.config.ts文件的window对象中添加backgroundColor属性:

typescript 复制代码
window: {
  // ...
  backgroundColor: '#ccc',
}

这里,背景色被设置成了灰色(#ccc)。

检查背景色变化

在微信开发者工具中预览时,如果未看到背景颜色的变化,这可能是因为页面本身有背景色覆盖了窗口的背景色

开启下拉刷新功能

为了更好地观察窗口背景色,我们可以开启页面的下拉刷新功能。这样当页面下拉时,背景色将在滚动的间隙中展现出来:

typescript 复制代码
window: {
  // ...
  backgroundColor: '#ccc',
  enablePullDownRefresh: true,
}

在微信开发者工具中下拉页面,窗口的灰色背景变得可见。

我们得出结论:页面就像是白色的布一层层叠加在窗口容器上

自定义页面背景颜色

有时候我们希望为小程序页面设置一个特定的背景色。要实现这一点,在Taro框架中我们可以直接通过CSS来修改页面的背景色。

页面级别背景色的CSS设置

在页面的CSS文件中对page选择器设置背景颜色。在页面样式文件中添加以下CSS代码:

scss 复制代码
page {
  background-color: #ccff00; // 您可以根据需求设置为任何颜色代码
}

上述代码中background-color设置了页面的背景颜色为亮黄色(#ccff00)。

在微信开发者工具中查看效果

做出以上更改后,我们在微信小程序开发者工具中预览效果。

自定义微信小程序导航栏样式

我们可以改变导航栏的背景颜色,以及设置导航标题的文字颜色。不过,需要注意的是,导航栏的文字大小是不可更改的。

设置导航栏背景和文字颜色

要修改导航栏的背景颜色,可以在页面的配置文件中使用navigationBarBackgroundColor属性。navigationBarTextStyle属性允许我们选择文字颜色,但仅限于黑色或白色:

javascript 复制代码
export default definePageConfig({
  // ...
  navigationBarBackgroundColor: '#cf0', // 修改导航栏背景颜色为亮黄色
  navigationBarTextStyle: 'white' // 修改导航栏文字颜色为白色
});

使用上述配置后,导航栏将显示为亮黄色背景配上白色文字。

微信开发者工具中的预览效果

将会看到导航条背景颜色和文字颜色已经根据设置进行了改变:

在未来的章节中,我们将讨论如何自定义导航栏。

相关推荐
yuanyxh1 小时前
macOS 应用 - 纯对话生成
前端·macos·ai编程
大家的林语冰1 小时前
ES5 凉凉,Babel 8 正式发布,默认不再编译为 ES5 和 CJS......
前端·javascript·前端工程化
光影少年3 小时前
react批量更新、同步/异步更新场景
前端·react.js·掘金·金石计划
假如让我当三天老蒯3 小时前
模块化:ES Module 与 CommonJS 的区别
前端·面试
用户40950115773173 小时前
Private Forge v2.0 发布:12大前端业务场景技能系统
前端
weedsfly4 小时前
异步编程全景与事件循环——彻底搞懂 JS 执行机制
前端·javascript
用户059540174464 小时前
AI Agent记忆测试踩坑实录:Mock骗了我一周,Mem0+pytest一招破局
前端·css
用户1733598075374 小时前
纯前端 PDF 数字签名实战:Vue 3 + pdf-lib 在浏览器里完成签名嵌入
前端·javascript
IT_陈寒4 小时前
SpringBoot自动配置的坑,我爬了三天才出来
前端·人工智能·后端
Avan_菜菜11 小时前
AI 能写代码了,为什么我反而开始要求它先写文档?
前端·github·ai编程