如何将$http.get()数据传递给trNgGrid表

How to pass $http.get() data to trNgGrid table

本文关键字:数据 trNgGrid http get      更新时间:2023-09-26

我知道这是一个基本问题,但我在任何地方都找不到任何相关的教程或文档。

我尝试使用以下代码生成 trNgGrid 表:

<div><button type="submit" ng-click="requestJSON()">X</button></div>
<div ng-controller="SearchController">
    <table tr-ng-grid='' items="data"></table>
</div>
<script type="text/javascript">
app.controller("SearchController", function ($scope, $http) {
    $scope.requestJSON = function () {
        var httpRequest = $http.get(url, {params: parameters})
        .success(function (data, status, headers, config) {
            // Call table render function
            $scope.data = data;
        })
        .error(function (data, status, headers, config) {
        })
    };
});
</script>

$scope.data 返回得很好,但表根本不会显示。当我将数据复制并粘贴到 $scope.data 时,如下所示:

$scope.data = [{"name": "myName", "age": 50}]

表格将按原样显示。

请帮忙。

更新:

我在GitHub的trNgGrid论坛上询问,最终得到了解决方案。

问题是我没有指定表中的列。当我为每列添加"tr"时,数据按原样显示在表中。所以表代码应该是这样的:

<table tr-ng-grid='' items="data">
   <tr>
      <th field-name="name"></th>
      <th field-name="age"></th>
   </tr>
</table>

你说了以下几点:

$scope.data 返回得很好,但表根本不会显示。当我将数据复制并粘贴到 $scope.data 时,如下所示

$scope.data = [{"name": "myName", "age": 50}]

表格将按原样显示

因此,由于您的手动数据分配方法有效,但您的 httpRequest 不起作用,即使它确实返回数据,这意味着您的请求返回的数据要么不是 JSON 格式,要么数据中存在导致问题的内容

你能显示从你的httpRequest返回的数据吗?

我正在一个项目中使用 trNgGrid,并使用 $http.get 和正常 $scope.data = 数据分配成功显示数据。

既然你说你复制并粘贴数据,那么它可以工作,也许你可以尝试:

angular.copy(data, $scope.data)