我试图在我的控制器中查看由视图中的过滤器生成的集合时遇到问题。
我将过滤后的数据存储在一个变量中:
<table class="table">
<tr ng-repeat="item in filteredCollection = (myCollection | filter: txtSearch)">
<td ng-bind="item"></td>
</tr>
</table>
我想在我的控制器中订阅“filteredCollection”的更改:
$scope.$watchCollection('filteredCollection', function() {
if (typeof($scope.filteredCollection) != 'undefined')
console.log('Results changed : ' + $scope.filteredCollection.length);
});
我已经设置了这个 JSFiddle来向你展示我的问题:我的 watch 函数永远不会被调用。
有趣的事实是,当我删除<tabset> <tab>
HTML 中的所有标签时,它会起作用。我想我搞砸了 $scope,但我不明白为什么。也许标签集创建了一个新的 $scope 孩子或其他东西。
我希望你们能了解这里发生了什么,
干杯