-
Notifications
You must be signed in to change notification settings - Fork 26
组件管理器
组件管理器就是所有组件的指挥中心,所有组件都必须接受组件管理器的调控。
组件管理器提供的方法通过名为 TF.Core.ComponentMgr 的名字空间访问,例如:TF.Core.ComponentMgr.add();
在组件容器中声明组件。只有声明过的组件才可以使用。
options
:组件参数。多个则使用数组方式传参。如果传递字符串而不是对象,则代表组件名,其他参数在 defaultOptions
中。
options.name
:组件名,字符串类型,无默认值。
options.lazyInit
:是否延迟初始化组件,Boolean 类型,默认值 false。
options.lazyRender
:是否延迟渲染组件,Boolean 类型,默认值 false。
options.appendRender
:是否追加渲染组件,Boolean 类型,默认值 false。追加渲染组件的意思是:把组件追加放到容器 DOM 元素中,而不是替换容器 DOM 元素的内容。
options.renderTo
:组件的容器 DOM 元素,可以传递 DOM 实例或者 CSS 选择器,默认值为#component
选择器字符串。
options.applyTo
:直接把某个 DOM 元素变成组件视图,可以传递 DOM 实例或者 CSS 选择器,无默认值。
options.contentEl
:从某个 DOM 元素取得组件的视图内容,可以传递 DOM 实例或者 CSS 选择器,无默认值。
options.hide
:是否以隐藏方式渲染组件,Boolean 类型,默认值 false。
defaultOptions
:组件默认参数,这个参数用于在 options 传递字符串类型的时候所使用的参数。
TF.Core.ComponentMgr 名字空间,所以可以链式调用。
TF.Core.ComponentMgr.add([{
name: 'HelloWorld',
appendRender: false,
lazyRender: false,
hide: false,
renderTo: '#sub-container'
},
'MyTestComponent',
'YourTestComponent'
], {
appendRender: true,
lazyRender: true,
hide: true,
renderTo: '#main-container'
});
投递消息给指定的组件。
name
:组件名。字符串类型。
message
:消息名。字符串类型。
args
:消息参数。对象类型。为空则表示不传递任何参数。
无
订阅某个组件的消息,当这个组件收到指定消息的时候调用回调函数。
name
:组件名。字符串类型。
message
:消息名。字符串类型。
callback
:回调函数。
scope
:callback
函数this
所指对象。默认为callback
本身。
subscription 句柄。这个句柄可以用来退订消息。
退订某个组件的消息。
handle
:subscription 句柄。
无
获取一个组件的代理对象,这样就可以方便的以对象的方式与组件交互,也就是可以调用组件的 Action 方法。
name
:组件名。字符串类型。
组件代理对象。