在不同的小部件之间共享一个dojo / store

时间:2016-03-07 11:33:05

标签: dojo store

是否有一种模式可以在多个小部件之间共享一个dojo / store?

我在同一页面上有多个小部件使用相同的dojo / store,我不想复制它,因此我不需要两次进行相同的REST调用。

1 个答案:

答案 0 :(得分:1)

考虑创建一个单独的模块,用于存储dojo/store的状态和操作。 该模块将包含一个" API'您的小部件可以访问。

下面是一个使用单音模式的简单示例。

define([], function () {
   'use strict';

    var _instance;
    function _StoreManager() {
    }
    _StoreManager.prototype = {
        _privateMember: null,
        getDataFromApi: function () { 
            //...
        },
        saveDataToApi: function (data) {
            //...
        },
    };
    return function _getSingleton() {
        // summary:
        //      Gets singleton object.
        return (_instance = (_instance || new _StoreManager()));
    };
});

需要模块并使用它。

require(['_StoreManager'],function(_StoreManager){
   _StoreManager.saveDataToApi({});
});