使用带有ember.js的jquery-ui进行排序时,更新ArrayController模型中的属性

时间:2013-04-16 15:57:50

标签: javascript jquery-ui ember.js

使用http://www.lukemelia.com/blog/archives/2012/03/10/using-ember-js-with-jquery-ui/我正在尝试在由Ember.ArrayController加载的模板中实现一个可排序列表,该模板有一个Phonenumbers数组作为内容:

{{#collection App.SortableListView contentBinding="phonenumbers" itemViewClass="App.SortableItem"}}
<b>{{phonenumber.cost}}</b>
{{/collection}}

我试图在排序后更新每个电话号码的'order'属性,但我无法弄清楚如何做到这一点:

App.SortableListView = JQ.SortableListView.extend({
  items: 'article',

  //update is a jquery ui method called when the sort ends and dom has been updated
  update: function(event, ui) {
    // I would like to update  and persist each phonenumbers model here
  }
});

我尝试了各种各样的东西:订单上的bindAttr,通过jquery的数据属性,使用每个childView的contentIndex属性(但是在排序时它没有更新)......一切都失败了,或者对于这么简单的事情来说太复杂了。

我想我错过了一些明显的东西,感谢你的帮助。

1 个答案:

答案 0 :(得分:-1)

阵列控制器上有sortProperty方法可以执行您想要的操作