# UI.态观

**订阅某键的变化——值被 `UI.态设` 改写时触发回调。**

```xuantie
UI.态观(状态, "计数", 函() { 示("计数变了: " & 字(UI.态取(状态, "计数"))) })
```

## 你可以……

- **做跨模块的联动**——比如状态一变就写日志、存盘、刷新别的状态:

```xuantie
UI.态观(状态, "搜索", 函() { UI.态设(状态, "搜索中", 真) })
```

- **替代"值变化事件"**——输入栏的值本就双向绑定状态,`态观` 就是它的 oninput。

## 注意

- 回调**不带参数**,要新值自己 `态取`。
- 同一键可挂多个回调,按订阅顺序逐个触发;回调里再 `态设` 同键会连环触发,注意别写成死循环。
- 新旧值相等不会触发(见 `UI.态设` 的跳过规则)。

## 相关

[UI.态设](态设.md) · [UI.态取](态取.md) · [UI.态清除](态清除.md)