1. 程式人生 > >Ext4.2.1學習歷程之二:自定義類及類的動態載入

Ext4.2.1學習歷程之二:自定義類及類的動態載入

原文出處   http://blog.itpub.net/28562677/viewspace-1067421/

--------------------------------------------------------------

在些extjs類的定義時有必要簡單介紹一下js原生態的類定義,已做參考

原生態自定義類:

點選(此處)摺疊或開啟

  1. function Person(name){
  2.     this.name=name;
  3.     this.sayHello=function(content){
  4.         alert(this.name+\'說:\'+content);
  5.     }
  6. }
  7. new Person(\'sc\').sayHello(\'hello world!\')
Extjs4.2自定義類的定義和例項的建立:

點選(此處)摺疊或開啟

  1. Ext.define(\'Myapp.Person\',{
  2.         config:{
  3.             name:\'\'
  4.         },
  5.         sayHello:function(oparetion){
  6.          Ext.Msg.alert(this.name,oparetion);
  7.        },
  8.          constructor:function(name){

  9.          this.initConfig(name);
  10.        }
  11.     })
一個自定義的類就建立好了,說明:使用Ext.define 來自定義類,通過Ext.define 定義的類都預設繼承自Ext.base 類。現在我們在看看怎麼建立該類的例項:

點選(此處)摺疊或開啟

  1. Ext.onReady(function(){
  2.      Ext.create(\"Myapp.Person\",{
  3.          name:\'sc\'
  4.      }).sayHello(\'hello world!\');
  5. })
大家可以參考兩種方法比較;
現在我們再來看看動態載入,還是用上面的這個例子演示:


建立一個Person.js的檔案,內容為:

點選(此處)摺疊或開啟

  1. Ext.define(\'Myapp.Person\',{
  2.         config:{
  3.             name:\'cc\'
  4.         },
  5.         sayHello:function(oparetion){
  6.          Ext.Msg.alert(this.name,oparetion);
  7.        },
  8.          constructor:function(name){
  9.          this.initConfig(name);
  10.     })
建立一個index.jsp頁面,內容:

點選(此處)摺疊或開啟

  1. Ext.onReady(function(){
  2.      Ext.Loader.setConfig({
  3.      enabled: true,
  4.      paths: {
  5.          Myapp:\"resources/myjs\"
  6.      }
  7.      });
  8.          Ext.create(\"Myapp.Person\",{
  9.          name:\'sc\'
  10.      }).sayHello(\'hello world!\');
  11.     })
1、Ext.Loader.setConfig為動態載入配置項;
2、paths: {Myapp:"resources/myjs"}中"resources/myjs這段是Person.js的相對路徑;
3、
Ext.create(\"Myapp.Person\",{})Myapp.Person是自定義類的全名,不可以使用別名,負責是無法找到自定義類的js的
4、建立的js檔名稱必須與Ext.create(\"Myapp.Person\",{})中的Person名稱一致,因為在執行的時候會根據Myapp.Person中的Person來找Person.js.沒有的話就會報錯;
最近學習有些忙!寫的有些簡單,如果有需要交流的童鞋盆友留言交流;