ngTable / Angular与外部JSON数据,按钮不显示

时间:2014-03-21 21:08:09

标签: json angularjs ngtable

我知道有很多关于ngTable / AngularJS的stackoverflow的信息,但是我尝试了所有的东西,它只是没有用。

我的HTML就是这样:

<!doctype html>
<html lang="en" >
<head>
    <meta charset="utf-8">
    <title>Sequencing experiments overview</title>
    <script src="/LIMS/angular-1.2.14/angular.js"></script>
    <script src="/LIMS/js/controllers.js"></script>
    <script src="/LIMS/ng-table-master/ng-table.js"></script>

    <link rel="stylesheet" href="/LIMS/ng-table-master/ng-table.css" />
    <link data-require="bootstrap-css@*" data-semver="3.0.0" rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />

    <link rel="stylesheet" href="/LIMS/style.css" />
</head>

<body ng-app="dataOverview" ng-controller="searchCtrl">

    <div>

        Search: <input ng-model="query">

        <p><strong>Page:</strong> {{tableParams.page()}}
        <p><strong>Count per page:</strong> {{tableParams.count()}}

        <table ng-table="tableParams"  class="table">
            <tr ng-repeat="exp in $data | filter:query">
                <td data-title="'id'">
                    {{exp.id}}
                </td>
                <td data-title="'name'" sortable ="'name'">
                    {{exp.name}}
                </td>
                <td data-title="'Type'">
                    {{exp.type}}
                </td>           
            </tr>
        </table>

    </div>  

</body>
</html>

我的controller.js文件是这样的:

var dataOverview = angular.module('dataOverview', ['ngTable']);

dataOverview.controller('searchCtrl', function searchCtrl($scope, $http, ngTableParams) {

$scope.tableParams = new ngTableParams({
page: 1,            // show first page
count: 5           // count per page
},{
getData: function($defer,params) {

  $http.get('/LIMS/index_query.php').
    success(function(data, status) {
      var orderedData = data;
      $defer.resolve(orderedData.slice((params.page() - 1) * params.count(),params.page() * params.count()));
    })
  }
 })
});

index_query.php返回从MySQL数据库查询的有效JSON对象(此处不会显示此内容)。

所以,我猜这个代码几乎可以。它显示一个包含DB中列和值的表。我可以使用过滤器框中的值进行过滤。但是,它只显示5行,并且没有按钮可以转到接下来的5行或增加页面上的行数。如ngTable页面(http://bazalt-cms.com/ng-table/example/1)所述。

当用firebug检查控制台时,我看到一个&#39; Uncaught TypeError:无法调用方法&#39; push&#39;未定义的&#39;错误。我假设它;填充数组的错误,应该构建按钮从1页有5个记录到另一个?今天我浪费了10h,所以请赐教,我将非常感激。

0 个答案:

没有答案