【发布时间】:2013-02-23 19:32:12
【问题描述】:
在我的输入框列表中应用orderBy 后,如果我编辑任何字段,它会立即开始排序并且我失去焦点。我试图挖掘角度代码,发现他们在 orderBy 的属性上应用了 $watch 之类的东西,因此每当值更改时,它都会对列表进行排序。有没有办法在编辑时禁用 orderBy?我不想让 orderBy 在编辑文本时对数据进行排序。任何帮助将不胜感激
注意:我想使用 orderBy 并且不需要任何替代方法,例如从任何控制器本身对列表进行排序。我只希望 orderBy 在页面加载时对列表进行一次排序,然后保持不变。
【问题讨论】:
-
当服务器发送我的数据时,我让它包含一个附加列“sortBy”,其中包含我希望排序的字段,然后 ng-repeat 将其用于 orderBy。此字段不在编辑中,因此在我再次从服务器取回行之前不会更改。 IE。当我“保存”一条记录时,会从数据库中获取返回的数据,包括 sortBy,它会替换 $scope 中的同一行,因此只有在编辑完成后才会更新页面上的排序。
标签: angularjs angularjs-orderby