我正在使用AngularJS(使用ng-table)生成两个数组,我希望它们能够同步。例如,我在两个表中都有[A,B,C]值,如果我用“A”过滤第一个,我也只想在第二个中使用[A]。
问题似乎是两个表的 $ 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
});
你知道我该怎么做吗?
谢谢!
答案 0 :(得分:0)
正如我在评论中提到的,您应该能够将两个表包装在同一个ng-controller
中并绑定到同一个表实例,如此类codepen所示。
<div ng-controller="myController">
<table ng-table="tableParams" id="tableA">
[...]
</table>
<table ng-table="tableParams" id="tableB">
[...]
</table>
</div>