框架受管 Coach 内容与视图受管 Coach 内容
在运行时, Coach 的内容框内的内容可由运行时框架或视图管理。 缺省情况下,由框架管理这些内容,但是如果要对自己的定制行为进行编码,那么可以选择该内容由视图管理。
当呈现 Coach 时,有些时候您可能希望覆盖框架的缺省行为。 例如,如果视图绑定到数组数据,框架将为该数组中的各个索引元素创建视图。 您可能希望为其他元素组创建视图,这种情况下可以选择让视图管理自己的内容。
在设计时,让视图管理自身内容的选项将设置为内容框上的一个属性。 要设置此选项,请执行以下操作:
- 打开视图,切换至布局。
- 单击编辑器中的内容框。
- 在“属性”下,单击选项视图将管理自身内容。
- 可以在回调方法中写入自己的定制代码,如
load(),以管理这些内容。 有关更多信息,请参阅 查看受管 Coach
框架管理内容
当视图内容由框架管理时,运行时框架按如下方式处理内容框的内容:- 如果内容框继承的数据绑定是数组,那么框架会将内容框的 DOM 节点克隆 n 次,其中 n 是数据绑定数组的元素数量。 视图是在数组的各个索引元素的内容框中创建的。
- 如果内容框继承的数据绑定不是数组,框架将为封闭内容创建视图。
Coach Toolkit 中的“水平部分”和“垂直部分”Coach 视图是由框架管理内容的 coach 视图示例。
请记住: 不推荐使用 Coach Toolkit 及其 Coach 视图。 对于新 coach,请改用 UI Toolkit 中的视图。
视图受管 Coach
当视图管理自身内容时,视图要负责处理内容框中的内容。 下面是以下典型场景:
- 初始化和呈现子视图:
- 如果内容框继承的数据绑定是数组,那么视图通常会在其中一个回调方法中执行以下操作,例如
load():- 视图将彻底克隆内容框的 DOM 节点 n 次,其中 n 是数据绑定数组的元素数量。
- 根据需要执行初始化逻辑,例如,添加/除去/更新/装饰已克隆节点的内容。
- 调用框架方法
this.context.createView()
- 如果内容框继承的数据绑定不是数组,视图会在其中一个回调方法中执行以下操作,例如,
load():- 根据需要执行初始化逻辑
- 调用框架方法
this.context.createView()
- 如果内容框继承的数据绑定是数组,那么视图通常会在其中一个回调方法中执行以下操作,例如
- 动态添加/删除内容:
- 添加内容(例如,在表中添加新行)
- 创建新的绑定对象,并使用 DataBinding API 将其添加到绑定数组中
- 调用框架方法
this.context.createView()
- 删除内容(例如,在表中删除行)
- 直接或间接删除该行的绑定对象
- 调用框架方法
this.context.deleteView()
- 添加内容(例如,在表中添加新行)