如何从视图中获取应用程序?

时间:2013-01-02 10:44:31

标签: extjs extjs-mvc

如何从视图中获取我的应用程序? 例如,我认为我有一个应用Boo,并且有一个名为Boo.view.Foo.List的视图,我希望在视图Boo中获得List

编辑:

请参阅此代码,并查看第20行。

Ext.define('Boo.view.Foo.List', {
    extend: 'Ext.panel.Panel',
    model: 'Boo.model.FooModel',
    alias: 'widget.foolist',
    store: 'FooListStore',
    initComponent: function () {
        this.columns = [
            {
                text: "Hello world",
                dataIndex: 'Time',
                flex: 1
            },
            {
                xtype: 'actioncolumn',
                width: 50,
                items: [{
                    icon: 'cancel.png',
                    tooltip: 'Cancel',
                    handler: function (grid, rowIndex, colIndex, col, e) {
                        //Now I need to get the application here, for example with self.getApplication() or something like this.
                    }
                }]
        }];

        this.callParent(arguments);
    }
});

1 个答案:

答案 0 :(得分:10)

您可以使用 appProperty

来实现此目的
Ext.application({
    name: 'MyApp',
    appProperty: 'Current'
});

您现在可以致电

MyApp.Current

从任何地方导致MyApp名称空间在窗口(全局)范围内抵制。

对于4.1.3之前的任何版本,将以下行添加到应用程序的启动方法

YourAppName[this.appProperty] = this;