Angularjs 如何在单击时重新加载角网格?

Angularjs 如何在单击时重新加载角网格?,angularjs,ng-grid,Angularjs,Ng Grid,我使用的是角度ng栅格,如本例所示: 但是当我点击按钮“重新加载”时,我需要用一个新的URL加载网格 我如何才能做到这一点?修改getPagedDataAsync函数以获取url参数。然后可以指定从哪个url加载数据 $scope.getPagedDataAsync = function (url, pageSize, page, searchText) { 在函数内部,您可以从url参数而不是硬编码值获取数据 $http.get(url) 现在,您可以创建一个reload()函数,该函数使

我使用的是角度ng栅格,如本例所示:

但是当我点击按钮“重新加载”时,我需要用一个新的URL加载网格


我如何才能做到这一点?

修改getPagedDataAsync函数以获取url参数。然后可以指定从哪个url加载数据

$scope.getPagedDataAsync = function (url, pageSize, page, searchText) {
在函数内部,您可以从url参数而不是硬编码值获取数据

$http.get(url)
现在,您可以创建一个reload()函数,该函数使用一个新url调用getPagedDataAsync,并将其连接到一个按钮


在范围变量中定义url:

$scope.source="largeLoad.json";
在getPagedDataAsync函数中使用此URL,而不是硬编码源

$scope.getPagedDataAsync = function (pageSize, page, searchText) {
    setTimeout(function () {
        var data;
        if (searchText) {
            var ft = searchText.toLowerCase();
            $http.get($scope.source).success(function (largeLoad) {     
                data = largeLoad.filter(function(item) {
                    return JSON.stringify(item).toLowerCase().indexOf(ft) != -1;
                });
                $scope.setPagingData(data,page,pageSize);
            });            
        } else {
            $http.get($scope.source).success(function (largeLoad) {
                $scope.setPagingData(largeLoad,page,pageSize);
            });
        }
    }, 100);
};
最后,在重新加载时更改源并再次调用getPagedDataAsync

    $scope.reload=function(){
       $scope.source="largeLoad2.Json";
       $scope.getPagedDataAsync($scope.pagingOptions.pageSize, 1);
    };

看这个

Jerrad跑得更快。他的答案与我的基本相同。