variable 变量管理
页面状态变量管理插件,用于创建、编辑、复制和删除页面的响应式状态变量,变量可在属性绑定和逻辑编排中使用。
变量存储结构
变量存储在页面 Schema 的 state 字段中,键为变量名,值为变量初始值:
json
{
"state": {
"title": "欢迎使用",
"count": 0,
"isLoggedIn": false,
"userName": "",
"products": [
{ "id": 1, "name": "商品A", "price": 99 },
{ "id": 2, "name": "商品B", "price": 199 }
],
"config": {
"theme": "light",
"pageSize": 10
}
}
}支持的值类型
| 类型 | 示例 | 说明 |
|---|---|---|
string | "欢迎使用" | 字符串 |
number | 0、3.14 | 数值 |
boolean | true、false | 布尔值 |
array | [1, 2, 3] | 数组 |
object | { "key": "value" } | 对象 |
null | null | 空值 |
变量访问
在组件中通过 this.state.xxx 访问变量:
json
{
"type": "JSExpression",
"value": "this.state.userName"
}在云函数中通过 this.state.xxx 读取和修改变量:
javascript
function updateCount() {
this.state.count = this.state.count + 1;
return this.state.count;
}变量命名规则
- 变量名全局唯一,不允许重复
- 修改变量名时,旧名称会被删除并创建新名称
- 以
datasource开头的变量名与数据源关联,删除时会级联清理生命周期中的相关代码
变量与数据源联动
当创建数据源时,系统会自动在 state 中注入以 datasource 为前缀的状态变量,并在画布渲染器 lifeCycles.setup 中生成数据加载逻辑。删除此类变量时,关联的生命周期代码也会被自动清理。
