ExtJs – Avoid Global Variable Usage

ExtJs Telah menyediakan fasilitas Getter-Setter nya sendiri, untuk itu diharapkan kita terbiasa untuk menggunakannya dan mengurangi atau bahkan menghindari penggunaan Global Variable lagi di aplikasi ExtJs yang kita develop.

Cara penggunaanya kurang lebih saya jelaskan seperti berikut :

Buat satu folder dibawah folder app.
Saya beri nama config dan saya buat dibawahnya file GlobalVariable.js
lihat gambar :

Code GlobalVariable.js adalah :

Ext.define('TEST.config.GlobalVariable',{
    singleton : true,
    config : {
    	isNewDashlite : true, // this is our Global Variable
    	dashliteObject : null, // this is our Global Variable
    	isNewDashboardConfig : true, // this is our Global Variable
    	dashboardConfigObj : null, // this is our Global Variable
    },
    
    constructor : function(config){
    	
        this.initConfig(config);
    }
});

Untuk meng-include di dalam Application ExtJs anda, cukup dengan men-requires di main application anda.
Sebagai contoh saya require di Application.js

Ext.define('TEST.Application', {
    extend: 'Ext.app.Application',
    name: 'TEST',
    // code for require GlobalVariable.js
    requires : ['TEST.config.GlobalVariable'],    
    
    launch: function () {
        Ext.create('Ext.container.Viewport', {
            layout: 'fit',
            items: [{
                    xtype: 'mainView'
                }]
        });
    
    }
});

Untuk penggunaanya pun sangat mudah.
Sebagai contoh untuk getter sebagai berikut :

   TEST.config.GlobalVariable.getIsNewDashlite(); // return boolean
   TEST.config.GlobalVariable.getDashliteObject(); // return Object

Dan untuk setter-nya adalah sebagai berikut :

   TEST.config.GlobalVariable.setIsNewDashlite(true);
   TEST.config.GlobalVariable.getDashliteObject(new Object);

Anda bisa baca beberapa hal lain yang seharusnya dihindari dalam men-develop aplikasi ExtJs di Official Sencha Blog.

Terima kasih dan semoga bermanfaat.

mazipan-signature

Be a good reader, leave your comment please.

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s