Во-первых, у меня вопрос: я хочу знать, чем отличаются 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.
Спасибо!