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



我已经尝试了所有方法,但我无法得到它。

我需要的是访问从控制器以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 访问从我的控制器过滤的数据,但它对我不起作用。

我正在尝试做的是过滤数据,然后通过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 请求可能已运行,也可能未运行,并且数据可能尚未被筛选。

最新更新