91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ext.js4.2.1中Ext.Class是什么

發布時間:2021-12-03 14:42:25 來源:億速云 閱讀:150 作者:小新 欄目:開發技術

小編給大家分享一下Ext.js4.2.1中Ext.Class是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一:描述


Ext.Class 是一個低層級的工廠類,被Ext.ClassManager使用,一般不直接使用Ext.Class,除非在創建一個匿名類時使用。


如果要創建一個類時請使用Ext.define 它是Ext.ClassManager.create的別名。


Ext.Class是一個工廠類,不是任何類的父類。 所有類的基類是 Ext.Base




二:Config


1.alias 簡稱/別名


如: 


Ext.define('MyApp.CoolPanel', {
    extend: 'Ext.panel.Panel',
    alias: ['widget.coolpanel'],
    title: 'Yeah!'
});


// Using Ext.create
Ext.create('widget.coolpanel');


// Using the shorthand for defining widgets by xtype
Ext.widget('panel', {
    items: [
        {xtype: 'coolpanel', html: 'Foo'},
        {xtype: 'coolpanel', html: 'Bar'}
    ]
});


2.alternateClassName 可選名


如:


Ext.define('Developer', {
    alternateClassName: ['Coder', 'Hacker'],
    code: function(msg) {
        alert('Typing... ' + msg);
    }
});


var joe = Ext.create('Developer');
joe.code('stackoverflow');


var rms = Ext.create('Hacker');
rms.code('hack hack');


3.config  具有默認值的配置參數


如:


Ext.define('SmartPhone', {
     config: {
         hasTouchScreen: false,
         operatingSystem: 'Other',
         price: 500
     },
     constructor: function(cfg) {
         this.initConfig(cfg);
     }
});


var iPhone = new SmartPhone({
     hasTouchScreen: true,
     operatingSystem: 'iOS'
});


iPhone.getPrice(); // 500;
iPhone.getOperatingSystem(); // 'iOS'
iPhone.getHasTouchScreen(); // true;


4.extend  繼承,當前類的父類


如:


Ext.define('Person', {
    say: function(text) { alert(text); }
});


Ext.define('Developer', {
    extend: 'Person',
    say: function(text) { this.callParent(["print "+text]); }
});


5.inheritableStatics  可繼承的靜態方法


6.statics  不可繼承的靜態方法


如:


Ext.define('Computer', {
     statics: {
         factory: function(brand) {
             // 'this' in static methods refer to the class itself
             return new this(brand);
         }
     },


     constructor: function() { ... }
});


var dellComputer = Computer.factory('Dell');


7.mixins  把其它類糅合進當前類


如:


Ext.define('CanSing', {
     sing: function() {
         alert("I'm on the highway to hell...")
     }
});


Ext.define('Musician', {
     mixins: ['CanSing']
})


此時Musician就會擁有一個sing的方法,通過CanSing類mixin而來。




如果,Musician本身已經有了一個sing方法,應該如下操作:


Ext.define('Musician', {
     mixins: {
         canSing: 'CanSing'
     },


     sing: function() {
         // delegate singing operation to mixin
         this.mixins.canSing.sing.call(this);
     }
})




8.requires  當前類加載之前需要加載的類,類似于import


如:


Ext.define('Mother', {
    requires: ['Child'],
    giveBirth: function() {
        // we can be sure that child class is available.
        return new Child();
    }
});


9.singleton  單例模式


10.uses  和當前類一起加載的類,不是必須的類


如:


Ext.define('Mother', {
    uses: ['Child'],
    giveBirth: function() {
        // This code might, or might not work:
        // return new Child();


        // Instead use Ext.create() to load the class at the spot if not loaded already:
        return Ext.create('Child');
    }
});


以上是“Ext.js4.2.1中Ext.Class是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

监利县| 宜君县| 淳化县| 元阳县| 区。| 铁力市| 平定县| 宣威市| 宁海县| 甘德县| 上杭县| 绿春县| 永顺县| 禄丰县| 靖江市| 蒙阴县| 石城县| 长宁区| 云浮市| 全州县| 太仓市| 枣阳市| 扶绥县| 海盐县| 张家川| 龙井市| 上蔡县| 青州市| 大同县| 和平区| 新邵县| 军事| 大理市| 霍邱县| 蓬安县| 桦南县| 丹阳市| 加查县| 海伦市| 报价| 香格里拉县|