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

share a dojo/store between different widgets

是否有在多个小部件之间共享单个 dojo/store 的模式?

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

考虑创建一个单独的模块,用于存储 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({});
});