2016-03-07 68 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({}); 
}); 
相關問題