Region -- 视图区域管理
我们可以通过Layout设计多个页面布局方案,并随意切换整体布局。
对外一般在Layout文件中使用,对内一般指的是某个区域的管理。
Region -- 视图区域管理我们可以通过Layout设计多个页面布局方案,并随意切换整体布局。 对外一般在Layout文件中使用,对内一般指的是某个区域的管理。
接下来我们来看下Region具体为我们提供了哪些内容。 广播事件
公开方法initRegions (唯一对外公开方法)初始化页面视图区域,通常只在Layout中进行设置
1. 其中templete代表HTML模板,建议使用import导入HTML文件方式进行使用,不建议在JS中写入大量HTML片段。 2. selectors代表区域规划方案,key值代表区域名称,value值为HTML选择器 驱动逻辑由于布局方案(Layout)是通过Router进行驱动加载的,在路由变化时,会检测布局方案是否改变,如果未改变则不会重复执行区域初始化。 当布局方案发生改变或首次加载布局方案时,优先执行 全局观察者模式全局观察者模式可以实现跨视图组件的事件广播,有效的降低耦合性。 但是全局观察者模式通常是在View(视图组件)中进行触发和管理,不建议直接使用,因为视图组件是具有完整生命周期,当视图卸载时,也会 在全局观察者模式中进行销毁,若在非视图组件中使用,很容易忘记卸载事件,造成不必要的内存浪费。 上面讲的驱动逻辑、全局观察者模式,这些核心方法都是由外部组件自动调用,在实际开发中几乎不会被用到,这里大家只是对其进行有个初步了解。 RegionItem当我们执行
属性
广播事件
举例:
由于对外操作把柄为App.region,但是对某一项区域也有独立的操作,所以广播事件在 公开方法RegionItem 是我们比较常用的操作把柄,由它来控制区域的装载、卸载操作。 show -常用 当我们执行
teardown
卸载当前区域。内部使用,不建议对外主动调用。 |
接下来我们来看下Region具体为我们提供了哪些内容。
广播事件
事件名称 | 作用 | 备注 |
before:initRegions | 初始化区域(Layout)前触发 | |
after:initRegions | 初始化区域(Layout)后触发 | |
before:teardownAll | 卸载所有页面区域(Layout)前触发 | |
after:teardownAll | 卸载所有页面区域(Layout)后触发 |
公开方法
initRegions (唯一对外公开方法)
初始化页面视图区域,通常只在Layout中进行设置
1 |
|
1. 其中templete代表HTML模板,建议使用import导入HTML文件方式进行使用,不建议在JS中写入大量HTML片段。
2. selectors代表区域规划方案,key值代表区域名称,value值为HTML选择器
驱动逻辑
由于布局方案(Layout)是通过Router进行驱动加载的,在路由变化时,会检测布局方案是否改变,如果未改变则不会重复执行区域初始化。
当布局方案发生改变或首次加载布局方案时,优先执行teardownAll
卸载区域内的所有视图,并清空当前区域内容。
全局观察者模式
全局观察者模式可以实现跨视图组件的事件广播,有效的降低耦合性。
但是全局观察者模式通常是在View(视图组件)中进行触发和管理,不建议直接使用,因为视图组件是具有完整生命周期,当视图卸载时,也会 在全局观察者模式中进行销毁,若在非视图组件中使用,很容易忘记卸载事件,造成不必要的内存浪费。
上面讲的驱动逻辑、全局观察者模式,这些核心方法都是由外部组件自动调用,在实际开发中几乎不会被用到,这里大家只是对其进行有个初步了解。