0

我想知道如何正确排序表数据时,数据传播与多个表。我有一些基于应用所属国家/地区的表格显示的应用数据,即每个国家都有自己的应用数据表。我可以使用orderBy单击表格标题(应用程序属性)对表格数据进行排序,但单击其中一个国家/地区表格的标题可对所有国家/地区表格进行排序。我想知道如何隔离范围,以便点击一个国家/地区的应用数据表格的表格标题只会改变其应用数据的顺序,而不会改变其他国家/地区的应用数据表格。我尝试将countryId属性添加到应用数据,然后根据当前点击的国家/地区表进行过滤,但这只会导致其他国家/地区表为空。隔离orderBy范围的正确方法是什么?角度orderBy和范围

​​

//编辑: 通过使当前迭代到ORDERBY滤波器的范围在控制器固定:

<th ng-click="vm.sortName = 'application.name'; vm.sortReverse = !vm.sortReverse; vm.orderByAppCountry(this, vm.sortName, vm.sortReverse)"> 
... 

<tr ng-repeat="appReleases in countryReleases.appReleases"> 
... 

    function orderByAppCountry(scope, predicate, reverse) { 
    scope.countryReleases.appReleases = $filter('orderBy')(scope.countryReleases.appReleases, predicate, reverse); 
    } 
+0

尝试使用数组更新orderBy,但stil不工作'' – neridaj

+0

'orderBy'上的特定于范围迭代的属性,而不是每个人共享的属性。例如,第一个重复是项目|中的项目orderBy:sharedProperty'和item.subs |中的第二个子项目orderBy:item.order' – floribon

回答

0

通过添加ORDERBY滤波器到控制器,并从国家表的点击呼叫固定,见上面的编辑。