2016-03-07 66 views
0

在多个部件之间共享单个dojo /存储是否有模式?在不同的部件之间共享dojo /存储

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

+0

您是否尝试将商店全局化并将其作为参数传递给不同的小部件? – Himanshu

回答

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({}); 
}); 
相关问题