跳到主要内容

当前 source 例子;仍需要 target acceptance

示例:本地状态与事件

把当前 DSL Showcase 的 `set-sugar` source 当作 source-level state/event 例子,而不是已部署行为保证。

当前 DSL Showcase 注册了 set-sugar page。其 source 有一段紧凑的 authoring 例子:

aup
button rename "Rename" primary ->
  set headline props {content: "Renamed"}

button load "Load" primary ->
  set list src "/modules/index"

第一个 action 指向命名 node 的 props;第二个 action 改变命名 node 的 data source。两者都编译进本 board 其他页面所述的 AUP node/event contract。

这个例子能证明什么

  • 当前 DSL parser/compiler 接受 Showcase source 中这两种 set shorthand;
  • 命名 target 让 source 中的本地更新意图可审阅;
  • 该文件已在当前 DSL Showcase app page map 中注册。

它不能证明什么

  • remote deployment 或任意历史 static Showcase page 是 live;
  • /modules/index 对每个 session、scope 或 target 都可读;
  • 每个 renderer 都以相同方式呈现更新或交互。

要把它变成产品声明,应在目标 runtime 本地运行已注册 app,触发每个 action,并记录 target、URL、版本和可观察结果。不能只凭 source 文件写成端到端验收结果。

合同见 Event、state 与 binding;权限边界见 调用者身份与安全