2015-02-23 47 views
0

我很努力地得到一個保存在我的模型中的gridster佈局值:正常保存並不是什麼大問題..只是網格佈局..如何修復這部分?Ember保存組件的值(正常保存是沒有概率的)

組件:序列數據菱調整後,電網

export default Ember.Component.extend({ 
    tagname: "", 
    Setupgridster: function(){ 
    Ember.$(".gridster ul").gridster({ 
     widget_base_dimensions: [359, 232], 
     widget_margins: [5, 5], 
     testvalue: 213213, 
     helper: 'clone', 
     resize: { 
     enabled: true, 
     max_size: [3, 3], 
     min_size: [1, 1], 
     stop: function (e, ui, $widget) { 
      var widget_base_dimensions = this.serialize($widget)[0]; 
     } 
     }, 
     serialize_params: function($w, wgd) { 
      return { 
      col: wgd.col, 
      row: wgd.row, 
      size_x: wgd.size_x, 
      size_y: wgd.size_y 
      }; 
     } 
    }).data('gridster'); 
    }.on("didInsertElement") 
}); 

保存控制器

export default Ember.Controller.extend({ 
    model: 'layout', 
    actions: { 
    save: function(){ 
     var newName= this.store.createRecord('layout', { 
     title: this.get('title'), 
/** Don't know how to get in here serialized gridster data **/ 
     layout: this.get('gridsterdata') 
     }); 

     newName.save(); 

     alert('saved'); 

     this.transitionToRoute('index'); 

    } 
}); 

有人告訴我G642.44各級保存選項放入組件本身作爲一個動作,但我還沒有得到一個線索如何使這項工作。有人可以解決這個問題或提出建議。我應該很高興! (媒體鏈接看1周的這個問題)

+0

有沒有人可以解決這個問題?我應該很開心! – ffsw 2015-02-24 13:18:55

回答

0

所以你發現gridster調整大小停止回調,你應該需要做的是:

export default Ember.Component.extend({ 
    tagname: "", 
    Setupgridster: function(){ 
    var _this = this; 
    Ember.$(".gridster ul").gridster({ 
     ... 
     resize: { 
     stop: function (e, ui, $widget) { 
      _this.sendAction('save', your_params_here); 
      var widget_base_dimensions = this.serialize($widget)[0]; 
     } 
     } 
    }).data('gridster'); 
    }.on("didInsertElement") 
}); 

,然後在您的模板,你正在使用您的組件,綁定動作:

{{gridster-component save='save'}} 

並修改您的控制器保存操作以從組件發送任何參數。

+0

謝謝,停止api的問題是:您只能獲取調整大小的窗口小部件值。你能告訴我怎樣才能得到整個gridster佈局(序列化)的數據嗎? – ffsw 2015-02-27 14:21:43