簡體   English   中英

在extjs中將局部變量設置為global

[英]Make the local variable to global in extjs

如何使局部變量變為全局變量?

Ext.define('A.view.Management', {
extend: 'Ext.container.Container',

requires: [
    'A.store.Management',
],

border: false,
chart: null,

hrer: [],   

initComponent: function () {
    var me = this;

    me.jobStore2 = Ext.create('O2a.store.Management');


    Ext.Ajax.request({
        url: utils.createUrl('api', 'ard-read'),
        async: true,

        callback: function(opts, success, response) {
            try {

                if (success) {
                    var output = App.decodeHttpResp(response.responseText);
                    const data = output.data;

                    let myArr = [];
                    data.map((date) => 
                    myArr = Object.keys(date).filter(key => key != 'DATE'));
                    me.hrer =myArr;

                    console.log(me.hrer);

                    if (output.success) {
                        //return output.success;
                    } else {
                        //return output.error;
                    }
                } else {
                    //return 'Unknown Reason';
                }
            } catch (ex) {
                //return ex;
            }
        }
    });
console.log(me.hrer);

我想將hrer陣列帶到外面。 當我在ajax請求之外進行console.log時,我得到的是一個已定義為全局的空數組。 我無法將進入ajax請求內部的值傳遞給外部

在ExtJS 4中,我們曾經做過:

Ext.define('A.store.SharedData', { 
    singleton: true, 

    foo: 'bar', 
    johnDoeAge: 42,
    hrer: []
}); 

然后在您要使用和使用它的任何組件中要求它,例如:

Ext.define('A.view.Management', {
    extend: 'Ext.container.Container',

    requires: [
        'A.store.Management',
        'A.store.SharedData'
    ],




    initComponent: function () {
        var me = this;
        A.store.SharedData.hrer = [1, 2, ...];
        ...
    }
    ...
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM