【问题标题】:How to pass $http.get() data to trNgGrid table如何将 $http.get() 数据传递给 trNgGrid 表
【发布时间】:2017-06-20 00:33:25
【问题描述】:

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

我尝试使用以下代码生成 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>

【问题讨论】:

    标签: javascript angularjs html-table


    【解决方案1】:

    您陈述了以下内容:

    $scope.data 返回就好了,但表格根本不会显示。 当我像这样将数据复制并粘贴到 $scope.data 时

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

    表格按原样显示

    因此,由于您的手动数据分配方法有效,但您的 httpRequest 无效,即使它确实返回了数据,意味着您的请求返回的数据不是 JSON 格式,或者在导致问题的数据

    您能否显示从您的 httpRequest 返回的数据?

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

    既然你说你复制粘贴数据,那么它就可以了,也许你可以试试:

    angular.copy(data, $scope.data)
    

    【讨论】:

    • 你好,我终于明白了。我只需要在 中指定表格列,然后它终于可以工作了。
    • 奇怪的是,如果你复制了数据,它仍然可以工作,即使这是问题所在。无论如何,我很高兴你做对了!
    • 我也觉得这很奇怪,但这就是它的工作原理。无论如何感谢您的帮助:)
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签