まず、Ext.Define()とExt.Create()の違いを知りたいのですが、正しい使い方を知りたいです。
コードと多くのExtjs4MVCチュートリアルを確認しました。
そして、Extjs4 MVCプロジェクトで多くのExt.define()メソッドを見つけました。
Ext.define()メソッドがオブジェクト(CLASS)を作成することを理解しています。
また、たとえばパネルが必要な場合は、パネルを継承しません。また、初期化後にパネルを再利用しません。
次に、Ext.define()の代わりにExt.create()を使用する必要があると思います。
だから、私は自分のコードを変更しようとしています@。@;
見て、それは
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();
しかし、変更後、コントローラーでそのパネルを取得する方法がわかりません。
そして、それをgrepする方法を見つけるためにウェブを検索している間、私はただ疑問に思います' Ext.define()とExt.create()について私がどのように理解するかは正しいですか?そして、なぜ多くの人がExt.define()メソッドを使用しているのに、それを再度使用したり、継承したりしないのでしょうか。'
Extjsの基本を理解するために私にアドバイスしてください。
ありがとう!