基础库 2.9.0 开始支持,低版本需做兼容处理。
页面属性配置节点,用于指定页面的一些属性、监听页面事件。只能是页面内的第一个节点。可以配合 navigation-bar 组件一同使用。
通过这个节点可以获得类似于调用 wx.setBackgroundTextStyle
wx.setBackgroundColor
等接口调用的效果。
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|---|
background-text-style | string | 否 | 下拉背景字体、loading 图的样式,仅支持 dark 和 light | 2.9.0 | |
background-color | string | 否 | 窗口的背景色,必须为十六进制颜色值 | 2.9.0 | |
background-color-top | string | 否 | 顶部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 | 2.9.0 | |
background-color-bottom | string | 否 | 底部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 | 2.9.0 | |
root-background-color | string | 否 | 页面内容的背景色,用于页面中的空白部分和页面大小变化 resize 动画期间的临时空闲区域 | 2.12.1 | |
scroll-top | string | "" | 否 | 滚动位置,可以使用 px 或者 rpx 为单位,在被设置时,页面会滚动到对应位置 | 2.9.0 |
scroll-duration | number | 300 | 否 | 滚动动画时长 | 2.9.0 |
page-style | string | "" | 否 | 页面根节点样式,页面根节点是所有页面节点的祖先节点,相当于 HTML 中的 body 节点 | 2.9.0 |
page-font-size | string | "" | 否 | 页面 page 的字体大小,可以设置为 system ,表示使用当前用户设置的微信字体大小 | 2.11.0 |
root-font-size | string | "" | 否 | 页面的根字体大小,页面中的所有 rem 单位,将使用这个字体大小作为参考值,即 1rem 等于这个字体大小;自小程序版本 2.11.0 起,也可以设置为 system | 2.9.0 |
page-orientation | string | "" | 否 | 页面的方向,可为 auto portrait 或 landscape | 2.12.0 |
bindresize | eventhandle | 否 | 页面尺寸变化时会触发 resize 事件, event.detail = { size: { windowWidth, windowHeight } } | 2.9.0 | |
bindscroll | eventhandle | 否 | 页面滚动时会触发 scroll 事件, event.detail = { scrollTop } | 2.9.0 | |
bindscrolldone | eventhandle | 否 | 如果通过改变 scroll-top 属性来使页面滚动,页面滚动结束后会触发 scrolldone 事件 | 2.9.0 |
在开发者工具中预览效果
<page-meta
background-text-style="{{bgTextStyle}}"
background-color="{{bgColor}}"
background-color-top="{{bgColorTop}}"
background-color-bottom="{{bgColorBottom}}"
scroll-top="{{scrollTop}}"
page-style="color: green"
root-font-size="16px"
>
<navigation-bar
title="{{nbTitle}}"
loading="{{nbLoading}}"
front-color="{{nbFrontColor}}"
background-color="{{nbBackgroundColor}}"
/>
</page-meta>
Page({
data: {
bgTextStyle: 'dark',
scrollTop: '200rpx',
bgColor: '#ff0000',
bgColorTop: '#00ff00',
bgColorBottom: '#0000ff',
nbTitle: '标题',
nbLoading: false,
nbFrontColor: '#000000',
nbBackgroundColor: '#ffffff',
},
})