使用 AngularJS 同步两个数组中的数据

Synchronize data in two arrays with AngularJS

我正在使用 AngularJS(使用 ng-table)生成两个数组,我希望它们同步。例如,我在两个 table 中都有 [A, B, C] 值,如果我用 "A" 过滤第一个,我也只想要第二个中的 [A]。

问题似乎是两个 table 的 $scope 不一样(即使它们在同一页面中),所以他们之间的数据不通用。所以我试图强制控制器与 nb-controller:

相同
<table ng-table="tableParams" ng-controller="myController" id="tableA">
[...]
</table>
<table ng-table="tableParams" ng-controller="myController" id="tableB">
[...]
</table>

但不幸的是它不起作用...

这是我的控制器的摘录:

var data = ['A','B','C'];

$scope.tableParams = new ngTableParams({
  page : 1, // show first page
  count : 15, // count per page
  filter : {
    filter_dict : '{}',
  },
  sorting : {
    id : 'asc',// initial sorting
  }
},
{
  counts: [15, 30, 50, 100],
  total : $rootScope.data.length, // length of data
  getData : function($defer, params) {
    $defer.resolve(data.slice((params.page() - 1) * params.count(),  params.page() * params.count()));
  },
  $scope:$scope
});

你知道我该怎么做吗?

谢谢!

正如我在评论中提到的那样,您应该能够将两个 table 包装在同一个 ng-controller 中并绑定到同一个 table 实例,如此类似codepen.

<div ng-controller="myController">
    <table ng-table="tableParams" id="tableA">
        [...]
    </table>
    <table ng-table="tableParams" id="tableB">
        [...]
    </table>
</div>