跳到主要内容

绑定数据

例如,如果你有一个绑定到场景中文本行的 teamName 属性,那么更改 teamName 的值会自动更新显示的文本。

你可以在编辑器中或运行时更改属性值,从而创建可适应每位用户的动态体验。

绑定并不限于视觉属性。你可以在文件的各处绑定值,包括变换、动画速度、转换器值脚本输入过渡条件值等。

这样,同一份数据就可以驱动场景中的行为、动画和逻辑,帮助所有内容保持同步。

绑定属性

下面我们使用 View Model 中的 Number 属性 circleX 来控制圆形的 X 位置。

绑定属性

  1. 绑定属性

    选中圆形后,右键点击 X 字段,然后选择 Data Bind

  2. 选择属性

    Property 下拉菜单中,选择 circleX

现在 X 字段应该会以绿色高亮显示,表示它已绑定到一个值。

圆形的水平位置现在由 circleX 属性驱动。每当该属性的值发生变化时,圆形都会自动更新。

绑定属性

⚠️

如果字段出现黄色边框,说明绑定存在问题。

大多数情况下,这是因为属性类型与目标值不兼容。例如,元素的 X 位置只能绑定到 Number 属性。

💡

预览绑定

默认情况下,只有在状态机播放时,你的数据才会控制元素。

要预览数据绑定的值,请打开 Data Binding Preview Toggle

预览数据绑定

更新绑定

右键点击已绑定的元素,然后选择 Update Bind

更新绑定

移除绑定

右键点击已绑定的元素,然后选择 Unbind

移除绑定

绑定选项

每个绑定都具有以下属性。

Property

目标所连接的 View Model 属性。

Property 字段

Path

绑定到嵌套 View Model 时,可能会有多个同名属性可用。

路径用于确定该绑定应使用哪个具体的属性实例。

预览数据绑定

另请参阅绝对绑定与相对绑定

Bind Direction

默认情况下,View Model 属性()会控制已绑定的元素或值(目标),但它也可以反向工作。

Target to Source

当绑定开启 Target to Source 时,对元素的更改会更新 View Model 属性。

Target to source

双向

View Model 属性的变化会更新元素,并且元素的变化也会更新 View Model 属性。

双向数据绑定

多次点击 Bidirectional 开关,会在 Bidirectional (prefer target value)Bidirectional (prefer source value) 之间循环切换。

在少数情况下,源和目标可能会同时发生变化。此设置用于决定发生冲突时哪个值优先。

Bind Once

启用 Bind Once 后,绑定只会在场景开始或创建绑定时应用一次值。

Bind once

应用初始值后,源或目标后续发生的变化都会被忽略。

绝对绑定与相对绑定

默认情况下,新的数据绑定连接会创建为绝对绑定。

  • 绝对绑定:绑定指向 View Model 层级结构中的某个具体属性实例。
  • 相对绑定:绑定会相对于当前上下文搜索名称匹配的属性。