我正在尝试将ngTable与angularJS一起使用。
我安装了所有有角度的工作人员,而且效果很好。
现在,我需要使用ngTable。
我正在使用下一个代码,但我的http get永远不会被触发。
我在这里缺少什么?
我的代码:
angular.module('clinang', ['ngTable']).controller('pacientesCtrl', function($scope,$http,NgTableParams){
this.tableParams = new NgTableParams({
page: 1,
count: 10
}, {
getData: function($defer, params) {
$http.get('/getdadospac/?oper=S', {params: {
pageNumber:params.page() - 1,
rangeStart:rangeStart,
rangeStop:rangeStop}})
.then(function(data, status) {
params.total(data.results.total);
$defer.resolve(data.results);
});
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.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>
<body ng-app="clinang">
<div ng-controller="pacientesCtrl">
<a class='btn btnprimary' href='/getdadospac/?oper=S' >Button</a>
<table ng-table="vm.tableParams" class="table" show-filter="true">
<tr ng-repeat="paciente in $data">
<td title="'Pront'" filter="{ name: 'text'}" sortable="'pront'">
{{paciente.pront}}</td>
<td title="'Nome'" filter="{ age: 'number'}" sortable="'nome'">
{{paciente.nome}}</td>
</tr>
</table>
</div>
</body>
答案 0 :(得分:1)
如果在创建控件后使用reload()
方法,它将起作用。
您还在使用.success
,但对于$http
,您必须使用.then
方法。
我在getData中放了一个debugger
调用,所以如果你打开你的DevTools,就可以看到它会被执行。
angular.module('clinang', ['ngTable']).controller('pacientesCtrl', function($scope,$http,NgTableParams){
this.tableParams = new NgTableParams({
page: 1,
count: 10
}, {
getData: function($defer, params) {
debugger;
$http.get('/getdadospac/?oper=S', {params: {
pageNumber:params.page - 1}})
.then(function(data, status) {
params.total(data.results.total);
$defer.resolve(data.results);
});
}
});
this.tableParams.reload();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.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>
<body ng-app="clinang">
<div ng-controller="pacientesCtrl">
<a class='btn btnprimary' href='/getdadospac/?oper=S' >Button</a>
<table ng-table="vm.tableParams" class="table" show-filter="true">
<tr ng-repeat="paciente in $data">
<td title="'Pront'" filter="{ name: 'text'}" sortable="'pront'">
{{paciente.pront}}</td>
<td title="'Nome'" filter="{ age: 'number'}" sortable="'nome'">
{{paciente.nome}}</td>
</tr>
</table>
</div>
</body>