将微件绑定到数据

借助应用制作工具,您可以通过数据绑定轻松将应用界面连接到数据。数据绑定可在微件属性和数据源之间建立一条双向链接。此链接允许您的微件访问和更新模型、关系和其他 Google 应用制作工具属性中的数据。

数据源

数据源为微件提供了一种访问数据的简单方法。它们提供的一系列 items 表示某种类型的数据,通常是数据模型记录或记录关系。此外,它们还提供一个 item,表示当前从 items 列表中选定的项目。微件使用该列表来访问记录和修改关系等。

您可以在微件“属性编辑器”内的 datasource 属性中查看其当前数据源。微件将从其父级微件继承数据源,除非您明确分配了其他数据源。您只能分配布局微件的数据源。其他所有微件都通过继承来接收数据源,因此,通常最好使用布局微件以直观且符合逻辑的方式来对其他微件分组。

模型数据源

Google 应用制作工具会自动为您添加的每个模型创建模型数据源。模型数据源充当应用中微件和服务器中数据之间的桥梁。数据源根据发送至服务器的查询来构建其 items 列表。然后,微件可以使用该列表在模型中创建记录以及读取、更新和删除模型中的记录。

详细了解模型数据源。

关系数据源

关系数据源是模型数据源的扩展组件,允许您访问和修改选定模型的关系。它们通过继承来找到当前从父级微件的数据源中选定的记录,并会针对该记录检索一系列相关记录。

关系数据源的 items 属性是一系列与父级微件的当前记录相关的所有记录。它的 item 是该列表中的一个记录。由于关系数据源的 item 是一个记录,您可以基于一个关系数据源构建另一个关系数据源。

详细了解关系数据源。

更多数据源

虽然模型和关系数据源最为常见,但 Google 应用制作工具支持您将应用中的任何属性用作数据源。例如,您可以将用户组或自定义属性用作数据源。要访问其他数据源,请在选择数据源 (Choose datasource) 弹出窗口的底部点击高级

绑定

绑定是微件属性和其他属性(通常是该微件的数据源的某个属性)之间的双向链接。由于绑定是双向的,对某个绑定属性的更改也会反映在另一个属性中。例如,您可以将某文本框的 value 属性绑定到新员工入职应用的模型数据源中的 EmployeeName 字段。用户可以使用文本框更新服务器上的员工姓名。此外,对服务器上的姓名进行的任何更改也会自动更新文本框中显示的文本。

添加绑定

如需打开绑定选择器,请在“属性编辑器”中点击微件属性旁边的 绑定,然后点击属性。如果已显示 绑定,则只需点击相应属性即可。

利用绑定选择器,您可以通过声明绑定路径来添加绑定;这些路径会将绑定属性相对于当前微件的位置告知应用制作工具。该选择器有两种模式:

  • 简单:简单绑定选择器会列出数据源的当前项的属性,并根据您选择的选项自动创建绑定路径。默认情况下,在未定义绑定或者定义的绑定与选择内容一致时,该路径对具有数据源的任何微件开放。

  • 高级:利用高级绑定选择器,您可以绑定应用中的任何属性。使用选择器顶部的向导可生成路径,或在底部的绑定表达式 (Binding expression) 字段中自行编写路径。在简单绑定选择器中点击打开高级 (Open Advanced) 可访问高级选择器。默认情况下,该路径也对不具有数据源的微件开放,并在定义的绑定与简单绑定选择器中的选择内容不一致时对具有数据源的微件开放。点击收起... (Less...) 可显示简单绑定选择器。

绑定表达式

绑定表达式是一种 JavaScript 表达式,支持您对绑定路径的输出执行操作。单个绑定表达式可以包含多个绑定路径,但只包含一个 JavaScript 表达式。如果需要多个 JavaScript 表达式,请使用绑定表达式调用客户端脚本,并提供绑定路径作为参数。

当绑定表达式中的任何绑定路径的值发生更改时,Google 应用制作工具会重新计算表达式。绑定表达式只会影响微件显示数据的方式,不会更改绑定路径中的实际数据。这意味着您不能在输入微件的 value 字段中使用绑定表达式。请改用简单的绑定路径。

绑定表达式示例"Hello, " + @user.username + ". My name is " + @widget.name + "."

投影

通过投影,您可以根据数据源的 items 列表中的记录访问属性。使用高级绑定向导中的 ..projections.. 选项访问投影,或使用绑定路径中的投影运算符 ..。例如,对于具有 name 属性的 Employees 数据源,@datasources.Employee.items..name 会返回包含所有员工姓名的列表。

自定义属性

自定义属性是页面级别的属性,用于存储单个用户会话的数据。在您需要将多个微件的属性绑定到一个值时,自定义属性非常有用。例如,将多个菜单微件的 visible 属性绑定到布尔值 ShowAll 自定义属性可将这些组件作为一个组切换显示。

选择页面的主面板,然后点击“属性编辑器”中的自定义属性组,从而创建自定义属性。使用向导中的 properties 选项或绑定表达式中的 @properties 快捷键可从高级绑定选择器访问当前页面的自定义属性。要访问其他页面的自定义属性,请使用向导中的 page 选项或 @pages 快捷键。

其他资源

  1. 属性和绑定:从概念上深入了解属性和绑定。
  2. 数据源:详细了解模型和关系数据源。
  3. 连接数据模型教程:借助关系数据源获得实际上手经验。
  4. 客户端 API - 数据源:查看客户端脚本中提供的所有数据源属性和方法。