Skip to content

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"欢迎使用"字符串
number03.14数值
booleantruefalse布尔值
array[1, 2, 3]数组
object{ "key": "value" }对象
nullnull空值

变量访问

在组件中通过 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 中生成数据加载逻辑。删除此类变量时,关联的生命周期代码也会被自动清理。