簡體   English   中英

將角度柵格保存在本地存儲中

[英]Save angular gridster in local storage

我想在本地存儲中以及之后在數據庫中保存角度柵格(每個項目的位置,大小和順序),並在頁面加載時檢索存儲的位置。 我已經找到了一些適用於gridster的東西https://github.com/ducksboard/gridster.js/issues/111,但是對於有角度的gridster來說卻沒有。 能幫我嗎? 謝謝

 vm.gridsterOptions = {
    columns: 4,
    mobileModeEnabled: true,
    draggable: {
      enabled: true, // whether dragging items is supported
      handle: '.H', // optional selector for drag handle
      stop: function(event, $element, widget) {         

      }
    },
    resizable: {
      enabled: true,
      stop: function (e, ui, $widget) {          

      },
      handles: ['n', 'e', 's', 'w', 'ne', 'se', 'sw', 'nw'],


    },
  };

這是我的HTML

 <div gridster="test.gridsterOptions" class="gridster-ready">
        <li class="my-class" gridster-item ng-repeat="datas in     test.chartDataArray "  >

             <highchart  id="container" style="width:100%;height:88%;margin: 0 auto" config="datas" ></highchart>

        </li>
  </div>

解決此問題的最佳方法是創建一個服務,該服務的功能是保存和檢索本地存儲中的窗口小部件數據。 將此服務注入儀表板控制器,您應該能夠在本地保存小部件數據。 這是一個“ widgetmanager”服務的示例,該服務將保存到本地存儲中:

angular.module('app')
    .service('WidgetsManager', widgetsManagerService);

    function widgetsManagerService() {
        return {
        getWidgets: function () {
            return angular.fromJson(localStorage.getItem('widgets')) || [];
        },
        setWidgets: function (widgets) {
            return localStorage.setItem('widgets', angular.toJson(widgets));
        },
        clearWidgets: function () {
            return localStorage.removeItem('widgets');
        },
    };
}

如果您的應用程序模塊被稱為“ app”,則可以正常工作,並且可以像這樣注入服務:

angular.module('app').controller('DashboardController', 
['WidgetsManager', dshaboardContoller]);

function dashboardController(WidgetsManager){
    //whatever code. accessing widget manager functions would be preceded by the
    //WidgetManager service like so

    var widgets = WidgetsManager.getWidgets()
} 

注入服務的方法有很多,但這只是我完成它的方式。 祝你好運,希望這會有幫助!

暫無
暫無

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

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