簡體   English   中英

在不同的Require.js模塊中存儲和加載變量

[英]Storing and loading variables in different Require.js modules

我正在工作的是ribs.js和require.js應用程序。 我有一個app-constants.js文件。 它存儲許多靜態變量,但也存儲國家/地區iso代碼:

define(function (require) {
    'use strict';


    var AppConstants = {
        SESSION_TIMEOUT_DURATION: 300,

        COUNTRY_ISO_CODES: [],

        getCountryIsoCodes: function () {
            return this.COUNTRY_ISO_CODES;
        },

        setCountryIsoCodes: function (countries) {
            this.COUNTRY_ISO_CODES = countries;
        }
    };
    return AppConstants;
});

國家/地區代碼取決於瀏覽器的語言,因此在應用啟動后即會加載。 因此,在獲得瀏覽器的語言之后,我然后使用以下代碼加載國家/地區代碼:

appConstants.setCountryIsoCodes(lookUpDataCountries);

如果我在setCountryIsoCodes()之后直接調用getCountryIsoCodes(),我會看到在appConstants文件中設置了國家代碼:

console.log('appConstants.getCountryIsoCodes() are ');
console.log(appConstants.getCountryIsoCodes());

輸出為:

appConstants.getCountryIsoCodes() are
["CA", "MX", "GT",
etc etc

但是,如果我在另一個模塊(例如某些模型)中加載應用程序常量,然后再次打印出國家代碼,則會得到一個空數組。 如何將國家/地區代碼存儲在app-constants.js文件中,並將其加載到其他模塊中?

不知道這是否可以解決問題,但是如何:

define(function (require) {
    'use strict';

    var COUNTRY_ISO_CODES: [];

    var AppConstants = {
        SESSION_TIMEOUT_DURATION: 300,

        getCountryIsoCodes: function () {
            return COUNTRY_ISO_CODES;
        },

        setCountryIsoCodes: function (countries) {
            COUNTRY_ISO_CODES = countries;
        }
    };
    return AppConstants;
});

暫無
暫無

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

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