Skip to content
Hex edited this page Jan 29, 2014 · 7 revisions

什么是组件管理器?

组件管理器就是所有组件的指挥中心,所有组件都必须接受组件管理器的调控。

组件管理器提供的方法

组件管理器提供的方法通过名为 TF.Core.ComponentMgr 的名字空间访问,例如:TF.Core.ComponentMgr.add();

function add(options[, defaultOptions])

在组件容器中声明组件。只有声明过的组件才可以使用。

参数

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'
});

function post(name, message, args)

参数

返回值

function subscribe(name, message, callback, scope)

参数

返回值

function unsubscribe(handle)

参数

返回值

function publish(name, message, args)

参数

返回值

function getAgent(name)

参数

返回值

function show(name)

参数

返回值

function has(name)

参数

返回值

function length(name)

参数

返回值

Clone this wiki locally