向Ext.Component添加逻辑初始化Sencha Touch

时间:2015-11-24 18:37:09

标签: extjs sencha-touch sencha-touch-2

我有一个需要多语言的应用程序 翻译来自服务器,基于使用该应用程序的用户 我目前的方法是为应用程序中使用的所有内容创建自己的字段,在初始化期间,我根据给定的代码更改它对翻译文本所说的内容。
例如,在一个按钮中,我创建了我自己的按钮:

Ext.define('myapp.view.shared.MyButton', {
    extend: 'Ext.Button',
    xtype: 'myappbutton',

    initialize: function () {
        this.callParent();
        this.setText(myapp.util.Helper.getTranslation(this.textCode, this.defaultText));
    }
})

然后我将默认按钮配置改为这样的,我只需更改xtype,删除文本,添加textCode和defaultText。

{
    xtype: 'myappbutton',
    textCode: 'back',
    defaultText: 'Back',
    ...
}

然后我定义文本代码和默认文本。 getTranslation方法,在本地存储中检查以获取代码的转换,并返回查找结果或发送的默认文本。

¡这是问题!
由于我有12个不同的组件(到目前为止),并且每个组件都以某种方式从Ext.Component扩展,我想将我的代码添加到Ext.Component的初始化中,以便应用这段代码,避免这个废话为我需要翻译的每个不同控件创建自定义控件。这可能吗?

TIA!
米尔顿.-

1 个答案:

答案 0 :(得分:1)

我想你总是可以尝试一下

$('body').on('change', 'input[type="checkbox"]', function(e){
    if(this.checked) alert($(this).parent().next().text());
});