所以我有一个scope.data和我的对象数组。该数组的数据将显示在一个表中,它是orderedBy x属性。表中的显示效果很好,但scope.data对象本身并没有进行排序以反映表中显示的内容。。。有没有办法让这个对象也作为排序选项进行排序?
您可以在控制器中应用过滤器,而不是将过滤器应用于模板中的scope.data:
而不是:
控制器:
$scope.data = [data array];
模板:
{{ data | orderBy:x }}
更改为:
控制器:
// Inject $filter into controller
$scope.data = $filter('orderBy')('x');
模板:
{{ data }}
数据绑定:
如果传入了data
数组,则可以通过设置监视函数来检查原始数组是否更改,然后自动应用于当前的$scope.data属性来处理更新。
OrderBy不对作用域的变量进行排序,而是对其显示方式进行排序。如果希望数组在$scope中发生更改,则需要使用javascript对数组进行排序。