如何在metro.js中实现图像重新排序
How to implement Image reordering in meteor.js
需要在图像采集中实现可排序功能。使用秩值对图像进行排序。。适用于所有类别。。如果图像按类别名称分类,则不起作用。。
如何进一步处理不同类别
Gallery.html
<div id="grid-container" class="cbp-l-grid-agency grid">
{{#each images getCurrentCategory}}
{{> image}}
{{/each}}
{{> addInfo}}
</div>
Gallery.js
Template.gallery.rendered = function(){
this.$('#grid-container').sortable({
stop: function(e, ui) {
el = ui.item.get(0)
before = ui.item.prev().get(0)
after = ui.item.next().get(0)
if(!before) {
newRank = Blaze.getData(after).rank - 1
} else if(!after) {
newRank = Blaze.getData(before).rank + 1
} else {
newRank = (Blaze.getData(after).rank + Blaze.getData(before).rank)/2
}
Images.update({_id: Blaze.getData(el)._id}, {$set: {rank: newRank}})
}
})
}
Template.gallery.helpers({
'getCurrentCategory': function() {
return Template.instance().currentcategory.get();
},
'images': function (currentcategory) {
if(currentcategory == 'all' || !currentcategory){
return Images.find({},{sort: {rank: 1}});
}
return Images.find({category:currentcategory});
}
});
如果我正确理解你的问题,你只需要这样做:
return Images.find({category:currentcategory},{sort:{rank:1}})
它与所有类别光标相同,但添加了排序说明符。
相关文章:
- 使用JS或新查询对列表进行排序
- 主干中的比较器在添加新模型时需要排序调用
- 插入按字母顺序、javascript或jquery排序的新列表
- 无法从jQuery可排序列表中删除新添加的项
- 使用“可排序”时获取新元素信息
- JavaScript 将文本框存储中的值引入数组中,创建新数组进行排序
- 在使用可排序排序期间/之后显示使用 JSON 创建的列表中的项目位置
- React Native ListView 不会在排序或检索新数据后更新
- 使用 UI 可排序,在单击按钮时根据给定值将项目移动到新位置
- AngularJS:插入新项目后对列表重新排序
- jQuery dataTable 不会对新数据进行排序
- jQuery UI 可排序在克隆和附加新的可排序列表后不会刷新
- 如何使用布局管理器重新排序/排序嵌套视图而不重新渲染
- ractive js :与模板中键部分关联的嵌套对象列表的直接 DOM 插入排序/排序 #each 顺序
- 在backbone.js中,如何使用新的模型数据更新视图,同时在没有完整渲染的情况下保持排序顺序
- jQuery UI可排序-排序时表格单元格丢失边框
- 对对象数组进行排序,并将具有相同键/值对的对象推送到新数组
- 嵌套可排序新添加的项目不会移动
- 如何使用jquery同位素按日期(新)排序
- 对象数组的复合排序(排序)