我正在尝试使用ng-table但坚持使用ngTableParams。
[Error] Error: 'undefined' is not a constructor (evaluating 'new ngTableParams')
错误,无论我尝试什么,
当前代码如下所示
$scope.tableParams = new ngTableParams({
page: 1,
count: 200,
sorting: {
name: 'asc'
}
}, {
groupBy: 'area',
total: TheData.length,
getData: function($defer, params) {
// use build-in angular filter
var orderedData = params.sorting() ? $filter('orderBy')(TheData, params.orderBy()) : TheData;
$defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
使用ngTable和ngTableParams:
调用app和controllerangular.module('MegaList', ['ui.bootstrap', 'ngTable']);
angular.module('MegaList').controller('DisplayMegaList', ['$scope', 'ngTableParams', function($scope, $http, ngTableParams) {
...
}
我想我已经尝试过将'ngTable'
,'ngTableParams'
和ngTableParams
个关键字组合在一起的所有方法,但它仍然无效。
那我该怎么办?
答案 0 :(得分:3)
这是因为你缺少参数。所有人都必须匹配
angular.module('MegaList')
.controller('DisplayMegaList', ['$scope', '$http', 'ngTableParams', function($scope, $http, ngTableParams)
答案 1 :(得分:-1)
看起来您在另一个模块上创建控制器。尝试使用MegaList.controller(...)
代替FloristList.controller(...)
。
答案 2 :(得分:-1)
我遇到了类似的问题,只是从这个示例中复制beforeEach
帮助了我:
https://docs.angularjs.org/guide/unit-testing
beforeEach(inject(function(_$controller_){
// The injector unwraps the underscores (_) from around the parameter names when matching
$controller = _$controller_;
}));