2015-02-23 74 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