我正在通过使用angularjs作为前端来开发Web应用程序。我正在使用ngTable进行表设计。在我的index.html中,添加以下代码。

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script type="text/javascript" src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<link rel="stylesheet"; href="https://unpkg.com/[email protected]/bundles/ng-table.min.css">
<script src="https://unpkg.com/[email protected]/bundles/ng-table.min.js"></script>


接下来,我将ngTable添加到我的app.js中

angular.module('AssetManagementApp', ['ngRoute','angularMoment', 'ngTable'])


但是当我将ngTable添加到controller.js中时。以下是我的代码。

angular.module('AssetManagementApp')

.controller('PCAssetManagementController', ['$scope', '$http', function($scope, $http){
        $scope.softwareTable = new ngTableParams({
            page: 1,
            count: 10
        }, {
            total: $scope.users.length,
            getData: function ($defer, params) {
                $scope.data = $scope.users.slice((params.page() - 1) * params.count(), params.page() * params.count());
                $defer.resolve($scope.data);
            }
        });

    }])


当我将“ ngTable”注入控制器时,Web应用程序崩溃。如果我在controller.js中删除ngTable。应用程序恢复正常。但是,当将“ ngTable”注入app.js时,该应用程序仍然可以正常运行。

最佳答案

您还必须将ngTableParams注入到控制器中:

angular.module('AssetManagementApp').controller('PCAssetManagementController', ['$scope', '$http', 'NgTableParams', function($scope, $http, NgTableParams){
    $scope.softwareTable = new NgTableParams({
        page: 1,
        count: 10
    }, {
        total: $scope.users.length,
        getData: function ($defer, params) {
            $scope.data = $scope.users.slice((params.page() - 1) * params.count(), params.page() * params.count());
            $defer.resolve($scope.data);
        }
    });

}])

10-04 16:51