2012-12-08 100 views
3

我面臨着一些問題,我不能聲明全局變量在ExtJS的4.1控制器,如果任何人能幫助我,我怎麼可以宣佈它。我DONOT知道我是怎樣把它聲明 這裏是我的代碼如何在extjs4.1中的控制器中聲明全局變量?

Ext.define('Ext4Example.controller.poscontroller', { 
    extend: 'Ext.app.Controller',  
    //models: ['Vat','Rebate','Customer','Product','Invoice','Item','Order','Paymethod'], 
    stores: ['InvoiceIdFromSession','Vats','Rebates','Customers','Products','Invoices','Items','Paymethods'], //'Orders', ,'InvoiceIdFromSession','Products' 
    id : 'poscontroller', 
    views : ['stock.SaleWindow','stock.ItemForm2','stock.ItemsGrid','stock.CalculationForm'], 
    refs: [{ 
     ref: 'itemForm', 
     selector: 'form' 
    }], 
    init: function() { 
     this.control({ 
      'itemsgrid': { 
       removeitem: this.removeUser 
      }, 
      'salewindow button[action=resetAll]': { 
       click: this.resertform 
      },    
      'salewindow button[action=saveOrder]' : { 
       click : this.onsaveOrder 
      }, 
      'salewindow button[action=PDF]' : { 
       click : this. pdfreport 
      } 
     }); 
    }, 

    onsaveOrder : function(button){ 
      // i want declare this variable to global variable 

      var itemform = Ext.getCmp('itemform2'); 
      var calculation_Form =Ext.getCmp('calculation-form'); 
      var ItemFrmdata = itemform.getForm().getValues(); 
      var calcFrmdata = calculation_Form.getForm().getValues(); 


} 

回答

-1

最後我做到這一點.....

Ext.define('Ext4Example.controller.poscontroller', { 
    extend: 'Ext.app.Controller',  
    //models: ['Vat','Rebate','Customer','Product','Invoice','Item','Order','Paymethod'], 
    stores: ['InvoiceIdFromSession','Vats','Rebates','Customers','Products','Invoices','Items','Paymethods'], //'Orders', ,'InvoiceIdFromSession','Products' 
    id : 'poscontroller', 
    views : ['stock.SaleWindow','stock.ItemForm2','stock.ItemsGrid','stock.CalculationForm'], 
    refs: [{ 
    ref: 'itemForm', 
    selector: 'form' 
    }], 
    init: function() { 
    itemform = Ext.getCmp('itemform2'); 
    calculation_Form = Ext.getCmp('calculation-form'); 
    ItemFrmdata = itemform.getForm().getValues(); 
    calcFrmdata = calculation_Form.getForm().getValues(); 
    this.control({ 
     'itemsgrid': { 
     removeitem: this.removeUser 
     }, 
     'salewindow button[action=resetAll]': { 
     click: this.resertform 
     },    
     'salewindow button[action=saveOrder]' : { 
     click : this.onsaveOrder 
     }, 
     'salewindow button[action=PDF]' : { 
     click : this. pdfreport 
     } 
    }); 
    }, 

    onsaveOrder : function(button){   
    } 
}); 
6

隨便怎麼樣您正在設置idviews或任何其他屬性。你只需要知道他們命名屬性而不是變量。

例如:

//... 
stores: ['InvoiceIdFromSession','Vats'], 
booleanVariable: true, 
stringVariable: 'demo', 
floatVariable: .6, 
objectVariable: { demo: 'test' }, 
id : 'poscontroller', 
//... 
+0

感謝您的答覆 –

+0

的downvoter能否請註明downvoting的原因?答案是沒有錯的,並在OP添加他使用的解決方案之前發佈 – sra

+0

對不起,實際上我是新用戶在stackoverflow。 –

0

試試這個:

Ext.define('Ext4Example.controller.poscontroller', { 
extend: 'Ext.app.Controller', 
models: [ 
    'Vat', 
    'Rebate', 
    'Customer', 
    'Product', 
    'Invoice', 
    'Item', 
    'Order', 
    'Paymethod' 
], 
stores: [ 
    'InvoiceIdFromSession', 
    'Vats', 
    'Rebates', 
    'Customers', 
    'Products', 
    'Invoices', 
    'Items', 
    'Paymethods' 
], //'Orders', ,'InvoiceIdFromSession','Products' 
id : 'poscontroller', 
views : [ 
    'stock.SaleWindow', 
    'stock.ItemForm2', 
    'stock.ItemsGrid', 
    'stock.CalculationForm' 
], 
refs: [{ 
    ref: 'itemForm', 
    selector: 'form' 
}], 

/*These are Global variables for this controller, 
Now you can get and set these variable according to your need*/ 
config:{ 
    itemform : Ext.getCmp('itemform2'), 
    calculation_Form : Ext.getCmp('calculation-form'), 
    ItemFrmdata : this.getItemform().getForm().getValues(), // for get declared Variable 
    calcFrmdata : this.getCalculation_Form().getForm().getValues() // for get declared Variable 
}, 
init: function() { 

    this.control({ 
     'itemsgrid': { 
      removeitem: this.removeUser 
     }, 
     'salewindow button[action=resetAll]': { 
      click: this.resertform 
     }, 
     'salewindow button[action=saveOrder]' : { 
      click : this.onsaveOrder 
     }, 
     'salewindow button[action=PDF]' : { 
      click : this. pdfreport 
     } 
    }); 
}, 
onsaveOrder : function(button){ 

} 
});