Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 承诺响应后如何使用ngTableParams的数据-角度_Javascript_Angularjs_Json - Fatal编程技术网

Javascript 承诺响应后如何使用ngTableParams的数据-角度

Javascript 承诺响应后如何使用ngTableParams的数据-角度,javascript,angularjs,json,Javascript,Angularjs,Json,我为控制器实现了这段代码 .controller('tableCtrl',函数($scope、$filter、$sce、ngTableParams、tableListUser){ var数据=[]; tableListUser.getAll() .then(功能(数据){ log(“然后数据:”,数据); $scope.data=数据; }); data=$scope.data; 日志(“数据:”,数据); //完整参数排序、筛选、编辑 this.tableFull=新的ngTablePara

我为控制器实现了这段代码

.controller('tableCtrl',函数($scope、$filter、$sce、ngTableParams、tableListUser){
var数据=[];
tableListUser.getAll()
.then(功能(数据){
log(“然后数据:”,数据);
$scope.data=数据;
});
data=$scope.data;
日志(“数据:”,数据);
//完整参数排序、筛选、编辑
this.tableFull=新的ngTableParams({
第1页,//显示第一页
计数:10,//每页计数
分类:{
名称:“asc”//初始排序
}
}, {
总计:data.length,//数据长度
getData:函数($defer,params){
log(“datatablefull:,$scope.Data”);
//使用内置角度过滤器
var orderedData=params.sorting()?$filter('orderBy')($scope.data,params.orderBy()):$scope.data;
orderedData=params.filter()?$filter('filter')(orderedData,params.filter()):orderedData;
orderedData=orderedData.slice((params.page()-1)*params.count(),params.page()*params.count());
console.log(orderedData.length);
params.total(data.length);//设置重新LC分页的总计
$defer.resolve(orderedData);
}
})

}
我猜你没有使用controllerAs语法。如果是这样的话,只需将this.tableFull更改为$scope.tableFull就可以了。你的代码与我以前使用的应用程序几乎相同,这是唯一不同的地方,它不是特定于域的。

好吧,重新尝试一下,并受到@mike评论的启发费尔特曼:我在控制器中做了这个更新,现在,对我来说,一切都很好

新控制器:

.controller('tableCtrl',函数($scope、$filter、$sce、ngTableParams、tableListUser){
var数据=[];
tableListUser.getAll()
.then(功能(数据){
log(“然后数据:”,数据);
//$scope.data=数据;
var数据=数据;
//$apply();
//完整参数排序、筛选、编辑
$scope.tableFull=新的ngTableParams({
第1页,//显示第一页
计数:10,//每页计数
分类:{
名称:“asc”//初始排序
}
}, {
总计:data.length,//数据长度
getData:函数($defer,params){
日志(“数据表完整:”,数据);
//使用内置角度过滤器
var orderedData=params.sorting()?$filter('orderBy')(数据,params.orderBy()):数据;
orderedData=params.filter()?$filter('filter')(orderedData,params.filter()):orderedData;
orderedData=orderedData.slice((params.page()-1)*params.count(),params.page()*params.count());
params.total(data.length);//设置重新LC分页的总计
$defer.resolve(orderedData);
}
})
});

})
我在@mikefeltman之前就这样做了,但同样的行为,我认为这与我发布的问题无关。问题是,
$scope.data
为什么没有随着承诺的响应而更新。我在这里举了一个例子:这里有js:。同样,它不是特别漂亮,但你可能会看到不同好了。好的@mikefeltman,谢谢。我根据你的评论发布了一个新的答案:),请在下面查看。