我想在ng-if:
中将过滤后的数据分配给控制器变量<section ng-if="($ctrl.filteredOperations = $ctrl.operations | filter: customFilter).length > 0">
<header>Count: {{$ctrl.filteredOperations .length}}</header>
<div ng-repeat="operation in $ctrl.filteredOperations ">...</div>
</section>
我尝试了不同的方法而没有运气。
更新
为什么我要这样做?
我有一个服务,负责收集操作。
financialService.operations(); - 这将从API或缓存中返回操作。
所以在我的控制器中:
financialService.operations().then(function(ops){
vm.operations = ops;
});
现在,如果我以任何方式更新我的缓存,它将更新我的视图。
答案 0 :(得分:2)
我建议你将过滤转移到你的控制器:
$ctrl.filteredOperations = $filter('customFilter')($ctrl.operations);
然后将其显示如下:
<section ng-if="$ctrl.filteredOperations.length">
<header>Count: {{$ctrl.filteredOperations.length}}</header>
<div ng-repeat="operation in $ctrl.filteredOperations">...</div>
</section>
在我看来,当逻辑变得复杂时,最好将它移动到控制器而不是用HTML完成所有操作。