如何使用操作对模型重新排序
How to reorder my model with actions
我想用向上和向下按钮重新排序我的模型。执行这些操作的余烬方法是什么?
这是一个jsbin:http://emberjs.jsbin.com/haxegihaye/9/
谢谢你的帮助。
为了更清楚,我只想在我的"模型"中选择一个数组项目,然后向上或向下选择该项目。我想,我只需要更改数组中项目的索引,但我不知道如何使用余烬执行此操作?
您可以使用
sortProperties: propertyName
& sortAscending: true/false
这是演示
我已经修改了您的模型以包含id
字段,以便按id
排序。
App.PostsRoute = Ember.Route.extend({
model: function() {
return [
{id: 1, title: 'post 1'},
{id: 2,title: 'post 2'},
{id: 3,title: 'post 3'},
{id: 4,title: 'post 4'},
{id: 5,title: 'post 5'}
];
}
});
您的控制器将像这样 -
App.PostsController = Ember.ArrayController.extend({
itemController: 'post',
selectedPost: null,
actions: {
up: function() {
this.set('sortProperties', ['id']);
this.set('sortAscending', true);
if (this.get('selectedPost')) {
var selectedPost = this.get('selectedPost');
var index = this.get('model').lastIndexOf(selectedPost);
if (index > 1) {
// up
}
}
},
down: function() {
this.set('sortProperties', ['id']);
this.set('sortAscending', false);
if (this.get('selectedPost')) {
var selectedPost = this.get('selectedPost');
var index = this.get('model').lastIndexOf(selectedPost);
if (index < this.get('model.length')) {
// down
}
}
}
}
});
相关文章:
- 如何按名称对四方形场地进行排序(即排序
- Javascript排序和排序
- 返回相同排序的排序函数
- JavaScript排序函数排序时不应该排序
- jQuery 表排序器排序不起作用
- 对生成的行进行排序表排序器
- 当值相同时,在忽略排序中排序
- 使用JQuery UI双向排序/未排序拖放
- JavaScript网格按编号排序,排序问题
- 如何使用布局管理器重新排序/排序嵌套视图而不重新渲染
- 任意重新排序和排序对象文字的 JavaScript 数组
- JS对象排序日期排序
- javascript排序和排序等于结果.怎样
- 嵌套可排序新添加的项目不会移动
- 在JavaScript中,在不干扰先前排序(部分排序)的情况下,在另一个键上使用对象数组
- 支持XML数据存储的可编辑网格,具有行编辑/排序/重新排序功能
- 使用AngularJS自定义排序函数排序Email值时出现问题
- Javascript排序函数排序错误
- Dojo增强网格嵌套排序无法排序
- JQuery UI可排序:按排序顺序保存键