框架受管 Coach 内容与视图受管 Coach 内容

在运行时, Coach 的内容框内的内容可由运行时框架或视图管理。 缺省情况下,由框架管理这些内容,但是如果要对自己的定制行为进行编码,那么可以选择该内容由视图管理。

当呈现 Coach 时,有些时候您可能希望覆盖框架的缺省行为。 例如,如果视图绑定到数组数据,框架将为该数组中的各个索引元素创建视图。 您可能希望为其他元素组创建视图,这种情况下可以选择让视图管理自己的内容。

在设计时,让视图管理自身内容的选项将设置为内容框上的一个属性。 要设置此选项,请执行以下操作:
  1. 打开视图,切换至布局
  2. 单击编辑器中的内容框。
  3. 在“属性”下,单击选项视图将管理自身内容
  4. 可以在回调方法中写入自己的定制代码,如 load(),以管理这些内容。 有关更多信息,请参阅 查看受管 Coach

框架管理内容

当视图内容由框架管理时,运行时框架按如下方式处理内容框的内容:
  • 如果内容框继承的数据绑定是数组,那么框架会将内容框的 DOM 节点克隆 n 次,其中 n 是数据绑定数组的元素数量。 视图是在数组的各个索引元素的内容框中创建的。
  • 如果内容框继承的数据绑定不是数组,框架将为封闭内容创建视图。
Coach Toolkit 中的“水平部分”和“垂直部分”Coach 视图是由框架管理内容的 coach 视图示例。
请记住: 不推荐使用 Coach Toolkit 及其 Coach 视图。 对于新 coach,请改用 UI Toolkit 中的视图。

视图受管 Coach

当视图管理自身内容时,视图要负责处理内容框中的内容。 下面是以下典型场景:
  1. 初始化和呈现子视图:
    • 如果内容框继承的数据绑定是数组,那么视图通常会在其中一个回调方法中执行以下操作,例如 load()
      • 视图将彻底克隆内容框的 DOM 节点 n 次,其中 n 是数据绑定数组的元素数量。
      • 根据需要执行初始化逻辑,例如,添加/除去/更新/装饰已克隆节点的内容。
      • 调用框架方法 this.context.createView()
    • 如果内容框继承的数据绑定不是数组,视图会在其中一个回调方法中执行以下操作,例如,load()
      • 根据需要执行初始化逻辑
      • 调用框架方法 this.context.createView()
  2. 动态添加/删除内容:
    • 添加内容(例如,在表中添加新行)
      • 创建新的绑定对象,并使用 DataBinding API 将其添加到绑定数组中
      • 调用框架方法 this.context.createView()
    • 删除内容(例如,在表中删除行)
      • 直接或间接删除该行的绑定对象
      • 调用框架方法 this.context.deleteView()
Coach Toolkit 中的“表”Coach 视图是管理自身内容的 coach 视图示例。