跳到主要内容

绑定数据

例如,如果你有一个绑定到场景中文本行的 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 字段

绑定全局属性时,请选择 Globals 图标。 选择 Globals 图标

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 层级结构中的某个具体属性实例。
  • 相对绑定会搜索名称匹配的属性,从最近的 View Model 开始,沿层级结构向上查找。

由于相对绑定按名称解析,如果更近的位置存在同名属性,它会优先于你原本想绑定的属性。例如,某绑定目标为主 View Model 中名为 scale 的属性,但更近的 View Model 中也有一个名为 scale 的属性,此时绑定会解析到更近的那个属性。

绑定到全局视图模型的绑定始终是相对绑定。

看完还有疑问?进群交流下!
与众多 Rive 创作者、开发者一起交流探讨与答疑解惑。
加入交流群