javascript - 按字母顺序排列 Angular 过滤器,但将新添加到顶部

标签 javascript angularjs

我的页面有一个对象列表,并且我正在使用 orderBy:

orderBy:"name":false
// the object also has an id:number

这对于原始列表来说非常有用,但是当我添加新项目时,我希望这些项目位于旧项目之上(直到刷新页面)。有没有办法告诉 Angular 自动处理这个问题?

最佳答案

Angular 没有内置参数来将新项目放置在顶部或底部,但您可以轻松地自己构建该功能。创建项目后,添加一个属性,如 item.isNew 最后将您的排序更改为多重排序:

orderBy:["isNew","name"]

这应该具有所需的结果,并且(与 ng-class 或 css 选择器结合)允许您根据需要以不同的方式设置新项目的样式。

编辑:

这是一个example jsfiddle.我忘了提及,新项目将位于顶部,但所有新项目将按名称排序。如果您只想将它​​们“插入堆栈”而不进行额外排序,请将“isNew”变量从 bool 值更改为递减整数( example here )。

关于javascript - 按字母顺序排列 Angular 过滤器,但将新添加到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34956868/

相关文章:

javascript - 有没有办法根据 css 属性忽略某些 transitionend 事件?

javascript - 为什么命名函数表达式的 "typeof"返回未定义?

validation - AngularJS - 创建与 ng-required 相反的指令

javascript - 谷歌登录/第三方身份验证提供商

jquery - fullcalendar 选择回调未在移动设备中触发

c# - 从c#.net中的JS文件访问资源文件

javascript - Ember 组件查找/调试/测试

javascript - 如何从 div 中删除重复的 ID,但保留原始 ID

javascript - 如何将代码插件与 popcornjs 一起使用

angularjs - ui-bootstrap $modal.open() 返回的 modalInstance 的访问范围