生成变量
模板并不了解您的项目。生成变量 就是那座桥梁:模板声明 它需要的变量, 而 由您填写它们的值。在生成时,每个值都会被求值,然后注入到模板的上下文中。

每个变量都 由模板声明(在它的 restorm-template.json
中),带有一个名称、一个 作用域、一个 类型、一个默认值和一段可选的描述。
在 Restorm 一侧,您 以 Handlebars 表达式的形式填写它的值 —— 对每个相关实体
求值,然后转换为所声明的类型。
可用的 类型 有 string、boolean、number 和 enum(带它的选项列表)。
一个 发现此模板使用的变量 操作会分析模板,并报告 被使用但未声明 的变量, 以避免遗漏。
作用域 决定变量在哪个层级求值,以及它落在模板上下文中的什么位置:
| 作用域 | 求值 | 在模板中可用 |
|---|---|---|
| 项目 | 一次 | ctx.design.vars.<nom> |
| 模型 | 每个模型 | ctx.models[].vars.<nom> |
| 属性 | 每个属性 | ctx.models[].properties[].vars.<nom> |
| 路由 | 每条路由 | ctx.groups[].routes[].vars.<nom> |
通用值与覆盖
Section titled “通用值与覆盖”对于每个模板,您按作用域定义 通用值(「通用变量」,例如适用于所有模型的值)。 然后您可以针对某个给定的模型、属性或路由,从该实体的 Code generation 标签页 覆盖 一个变量。一个空值表示「继承」:第一个非空值胜出,而任何未解析的值都会 作为一个错误浮现 —— 绝不悄无声息。