Data 数据使用
Data 声明一个数据源。它不渲染 UI,只负责拉取/读取数据,供绑定和脚本使用。
基本写法
四种类型
Json
响应体按 JSON 解析,得到对象/数组:Text
响应体原样返回字符串:Xml
解析为可绑定的树:Binary
得到:Url 是 Blob URL,可直接给 Image / Media:
在线与本地
在线:- 只允许 https:443;
- 统一经启动器后端代理,禁止重定向,拒绝回环/内网/保留地址;
- 文本/JSON/XML 上限 1MB,二进制上限 8MB;
- 域名需要在编辑器里勾选确认。
- 绝对路径原样使用;
- 相对路径:本地导入的组件以
.qwidget所在目录为基准;URL 导入的组件以启动器数据目录为基准; - 编辑器信息面板显示解析后的绝对路径。
缓存与刷新
- 非二进制结果按
Refresh缓存到 localStorage;重新挂载时未过期直接使用。 - 二进制只缓存在内存,避免 base64 撑爆本地存储。
Refresh="0"表示每次挂载都重新读取/请求。- 手动刷新:按钮动作
Refresh,会重新拉取本组件所有过期数据源。
绑定多个数据源
每个Data 有独立 Name:
- 命名源同时可以直接用
{News.*}/{Weather.*}访问。 - 未命名的数据源(默认名
Data)字段会合并到{Data.*}。 - 最多 8 个数据源。
状态
State.Loading 为任意数据源正在加载;State.Error 为至少一个数据源失败。
限制
- 数据源 ≤8;单个组件数据缓存总量 2MB。
- 在线请求超时 15 秒(前端请求 20 秒)。
- 二进制对象 URL 在组件卸载时释放。