Angularjs:无法识别Controller中的ngTable

时间:2017-04-05 10:12:32

标签: javascript angularjs

我正在使用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/ng-table@2.0.2/bundles/ng-table.min.css">
<script src="https://unpkg.com/ng-table@2.0.2/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时,应用程序仍然可以正常工作。

1 个答案:

答案 0 :(得分:1)

您还必须将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);
        }
    });

}])