我的页面有一个对象列表,并且我正在使用 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/