基础库 2.11.1 开始支持,低版本需做兼容处理。
若想启用初始渲染缓存,最简单的方法是在页面的 json
文件中添加配置项 "initialRenderingCache": "static"
:
{
"initialRenderingCache": "static"
}
如果想要对所有页面启用,可以在 app.json
的 window
配置段中添加这个配置:
{
"window": {
"initialRenderingCache": "static"
}
}
添加这个配置项之后,在手机中预览小程序首页,然后杀死小程序再次进入,就会通过初始渲染缓存来渲染首页。
注意:这种情况下,初始渲染缓存记录的是页面 data 应用在页面 WXML 上的结果,不包含任何 setData 的结果。
例如,如果想要在页面中展示出“正在加载”几个字,这几个字受到 loading
数据字段控制:
<view wx:if="{{loading}}">正在加载</view>
这种情况下, loading
应当在 data
中指定为 true
,如:
// 正确的做法
Page({
data: {
loading: true
}
})
而不能通过 setData
将 loading
置为 true
:
// 错误的做法!不要这么做!
Page({
data: {},
onLoad: function() {
this.setData({
loading: true
})
}
})
换而言之,这种做法只包含页面 data
的渲染结果,即页面的纯静态成分。