ExtJS / Sencha Touch中组件的配置属性有什么意义?

时间:2014-10-25 09:28:57

标签: extjs sencha-touch

考虑这样的代码并注意config属性。

Ext.define('TouchTomatoes.view.WelcomeOverlay', {
    extend: 'Ext.Panel',
    xtype: "main",

    config: {
        cls: "welcomeOverlay",
        html: [
            "<div class='message'>",
                "<h2>Welcome to <em>Touch Tomatoes</em></h2>",
                "<p>Browse any of our lists by selecting a tab at the bottom, or swiping across the app. <br/>You can find a movie in our search section.</p>",
                "<div class='tap'>Tap anywhere to begin</div>",
            "</div>"
        ].join(""),
        hidden:true
    },

    initialize: function() {
        this.element.on({
            tap: {
                fn: function() {
                    this.hide();
                },
                single:true,
                scope:this
            }
        })
    }
});

到目前为止,我只是将配置项直接放入类定义中,一切都会起作用。实际上我认为这是唯一的方法(因为例如API中未记录config属性)。任何人都能说出一种不同的方式吗?

同样适用于那里的initialize方法,我通常会使用initComponent,为什么ExtJS中有这么多替代名称和方法?

2 个答案:

答案 0 :(得分:1)

  1. ExtJS和Sencha Touch不同。请尝试提出一个问题 对于一个平台。
  2. Sencha Touch 1和2不同。
  3. 读取控制台文本:[DEPRECATE] [App.view.Main#constructor] initComponent()已弃用,请将您的代码放在initialize()中
  4. Ext.Class.config位于API文档中。查看每个组件右侧的扩展树,以查看每个组件的来源。该文档未显示父项
  5. 中的所有项目

    Sencha Touch和ExtJS中有其他名称和方法,通常是为了使代码向下兼容。但目前的版本只有一种方式可以使用。

    请务必阅读有关如何处理事情的最新博文。

答案 1 :(得分:1)

config选项应该用于为自定义属性创建自己的getter和setter。 所以,假设你在那里添加了另一个属性:type: 'userform'。在面板创建过程之后,您可以使用getTypesetType方法为该面板提供。