angularjs – 如何在ng-grid中使用ExternalSorting,在sortInfo上使用$watch?

前端之家收集整理的这篇文章主要介绍了angularjs – 如何在ng-grid中使用ExternalSorting,在sortInfo上使用$watch?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的代码中的ng-grid有以下设置:

$scope.gridOptions = {
    ...
    useExternalSorting : false,}

$scope.watch('gridOptions.ngGrid.config.sortInfo',function (oldValue,newValue) {
    console.log(newValue)
})

我也尝试使用sortInfo:undefined和$watch(gridOptions.sortInfo).这似乎仅在网格最初加载时起作用.之后,当我点击标题列时,它似乎没有进入$watch的回调函数.我尝试在回调函数中放置一个调试器来触发排序,我可以看到代码用正确的信息更新sortInfo数组,但是它似乎没有进入watch语句的回调函数.我的设置有什么不对吗?我有一个类似于我想要的东西的Plunker here.

解决方法

我有同样的问题.我想进行自己的服务器端排序,但仍然使用单击列标题时更新的sortInfo对象.在查看控制台中的一些错误之后,我发现我必须像这样设置一个默认的sortInfo:

$scope.gridOptions = {
    …
    sortInfo:{fields:[],columns:[],direction:[]},
    useExternalSorting:true
}

我不确定为什么列字段是必要的,它与文档不匹配.我正在使用AngularJS v1.2.19和ng-grid v2.0.11.不确定为什么你将useExternalSorting设置为false,但无论哪种方式,你现在应该能够像这样在该字段上设置监视:

$scope.$watch(‘gridOptions.sortInfo’,function(newVal,oldVal){    的console.log(的newval);,真实);

猜你在找的Angularjs相关文章