Angularjs 从控制器中获取在 ng-repeat 中过滤的数据

Angularjs get data filtered in ng-repeat from controller

我什么都试过了,还是不行。

我需要的是从控制器访问在 ng-repeat 中过滤的数据。

ng-repeat 中的数据取自 $http 调用。

$http.get('http://localhost:/test/test.php').success(function(data) {

 $scope.registros = data;

 });

这是风景

<div ng-repeat="registro in (filteredregistros = (registros| filter:userSearch | filter:datefilter | filter:greaterThan('ID', greatersearch) |  orderBy:'-ID'))">


             {{registro.ID}}{{registro.date}}

             <div class="rowboxdata ng-animate">

                                        <div class=""><div class="name-business">{{registro.Name}}</div></div>
                                        <div class=""><div class="name-business">{{registro.Phone}}</div></div>
                                        <div class=""><div class="name-business">{{registro.Email}}</div></div>
                                        <div class=""><div class="name-business">{{registro.Name}}</div></div>
                                        <div class=""><div class="name-business">{{registro.City}}</div></div>
                                        <div class=""><div class="name-business">{{registro.Service}}</div></div>
             </div>

</div>

我试过使用 $scope.filteredregistros 访问从我的控制器过滤的数据,就像我在其他 post 中查看的那样,但它对我不起作用。

我想做的是过滤数据,然后通过 ajax 将其发送到 php。

最好能帮上忙谢谢。

已编辑

终于,我在这个例子中找到了我需要的东西;

在视图中:

<input type="button" ng-click="results(filteredregistros)" />

在控制器中:

$scope.results = function (filteredregistros) {
          console.log(filteredregistros);
          // your ajax code
};

如果您只想在视图中获取它,请按照 Per Hornshøj-Schierbeck 的说法进行操作:

filteredregistros: {{filteredregistros | json}}

感谢 Per Hornshøj-Schierbeck 的帮助

尝试添加

filteredregistros: {{filteredregistros | json}}

在您的 HTML 某处。应该清楚它是否包含数据。通过 json 管道将以 json 格式显示数据,这对于调试内部值非常有用。

当您执行 console.log 时您可能看不到的原因是,取决于您何时 console.log 它,您的 http 请求可能有也可能没有 运行 和数据可能尚未过滤。