ExtJS:init是一个模板方法,什么是模板方法?

时间:2015-08-05 18:07:10

标签: javascript extjs

我刚刚开始在Ext.app.Application中使用init方法,并且它声明它是一个模板化的方法,对于启动和其他一些方法也是如此。这些文档的标签附有灰色背景,上面写着TEMPLATED。

什么是模板化方法?它与其他方法有何不同。

我需要担心吗?

有点困惑。

无法找到相关信息

由于

1 个答案:

答案 0 :(得分:2)

模板方法是一种可以在派生类上实现的方法,就像你想要的那样,然后自动调用。不用担心,这将是你将要做的很多事情。

如果您查看文件的the source,您会看到它已经存在,但它已分配了一个空函数。框架调用那个空函数。如果您从具有模板方法的类扩展,则可以覆盖'那些方法。框架按特定顺序调用这些方法。

Ext.app.Controller的源代码片段:

/**
 * A template method that is called when your application boots. It is called before the
 * {@link Ext.app.Application Application}'s launch function is executed so gives a hook point
 * to run any code before your Viewport is created.
 *
 * @param {Ext.app.Application} application
 *
 * @template
 */
init: Ext.emptyFn,

/**
 * A template method like {@link #init}, but called after the viewport is created.
 * This is called after the {@link Ext.app.Application#launch launch} method of Application
 * is executed.
 *
 * @param {Ext.app.Application} application
 *
 * @template
 */
onLaunch: Ext.emptyFn,