Extjs4 MVC, Ext.define ()и Ext.create()

Во-первых, у меня вопрос: я хочу знать, чем отличаются Ext.Define ()и Ext.Create (), и я хочу знать, как правильно их использовать.

Я просмотрел свои коды и множество руководств по Extjs4 MVC

. и я нашел много методов Ext.define ()в проекте Extjs4 MVC.

Я так понимаю метод Ext.define ()создает объект (CLASS ).

И если мне нужна панель, например, я не буду наследовать панель, а также не буду повторно использовать панель после инициализации.

Затем я думаю, что мне нужно использовать Ext.create ()вместо Ext.define ().

Итак, я пытаюсь изменить свой код @.@;

Ввиду этого

Ext.Define("App.view.MyGrid",{
    extend : 'Ext.grid.panel',
    alias : 'widget.MyGrid',
    initComponent : function(){
        this.columns : [{ header: 'column' }];
        this.store : Ext.create('Ext.data.ArrayStore', {})
    }
});

и я меняю на,

var myGrid = Ext.create('Ext.grid.Panel', {
    layout: 'fit',
    border: false,
    columns: [{ header: 'column' }],
    store: Ext.create('Ext.data.ArrayStore', {})
});

После изменения кода у меня возникла проблема, что я не могу получить (grep )панель в контроллере,

прежде чем я сделал это раньше,

refs: [
        {
            ref: 'myGrid',
            selector: '',
            xtype: 'MyGrid', //view - alias
            autoCreate: true
        }
]

this.getMyGrid();

но после изменения я не знаю, как получить эту панель в контроллере.

и во время поиска в Интернете, чтобы узнать, как это сделать, я просто задаюсь вопросом: «Правильно ли я понимаю Ext.define ()и Ext.create ()? и почему многие люди используют метод Ext.define (), даже если они не используют его снова и не для наследования? '

пожалуйста, посоветуйте мне понять основы Extjs.

Спасибо!

6
задан Expert wanna be 9 August 2012 в 20:39
поделиться