Javascript AngularJs路线+;后退按钮

Javascript AngularJs路线+;后退按钮,javascript,angularjs,cordova,angular-routing,Javascript,Angularjs,Cordova,Angular Routing,我正在使用AngularJs和AngularRoutes以及Phonegap来制作我的移动应用程序。这是一个电子商务应用程序,因此有一个典型的分类页面,其中包含过滤器、排序和产品详细信息页面 现在的问题是,每当我在ProductDetails页面上单击back时,它就会忘记排序/筛选/分页,并基本上重新加载类别页面 一般来说,当单击“后退”按钮时,如何停止再次点击api 下面是我的分类控制器的外观 app.controller('categoryController', function ($h

我正在使用AngularJs和AngularRoutes以及Phonegap来制作我的移动应用程序。这是一个电子商务应用程序,因此有一个典型的分类页面,其中包含过滤器、排序和产品详细信息页面

现在的问题是,每当我在ProductDetails页面上单击back时,它就会忘记排序/筛选/分页,并基本上重新加载类别页面

一般来说,当单击“后退”按钮时,如何停止再次点击api

下面是我的分类控制器的外观

app.controller('categoryController', function ($http, $scope, $location, $rootScope, $routeParams, $anchorScroll) {
    loaderShow();
    $scope.filtered = {};
    $scope.minp = 0;
    $scope.maxp = 0;
    $scope.pdts = {};

    $http.get(domain + "/get-category-products/" + $routeParams.url_key + (window.localStorage.getItem('id') != null ? "?userId=" + window.localStorage.getItem('id') : ""), {
        cache: true
    }).success(function (data, status, headers, config) {
        $scope.products = data;
        $scope.pdts = data.data
        $scope.filters = data.filters;
        $scope.$digest;
        loaderHide();
    });

    $scope.load = function (event, url) {
        angular.element(event.target).children("i").addClass("fa fa-spinner fa-pulse");
        $http.get(url, {
            params: {
                'filters': $scope.filtered,
                'minp': $scope.minp,
                'maxp': $scope.maxp,
                'slug': $routeParams.url_key,
                'sort': jQuery("select.orderby").val(),
                'userId': (window.localStorage.getItem('id') != null ? window.localStorage.getItem('id') : "")
            },
            cache: true
        }).success(function (data, status, headers, config) {
            $scope.products = data;
            if (data.data.length > 0) {
                jQuery.each(data.data, function (k, v) {
                    $scope.pdts.push(v);
                });
                angular.element(event.target).children("i").removeClass("fa fa-spinner fa-pulse");
            } else {
                angular.element(event.target).removeAttr("ng-click");
                angular.element(event.target).text("No More Products");
            }

            $scope.$digest;

            loaderHide();

        });
    };

    $scope.filterProds = function (option, parent) {
        if (option) {
            if (!(parent in $scope.filtered))
                $scope.filtered[parent] = [];

            var idx = $scope.filtered[parent].indexOf(option);

            if (idx > -1)
                $scope.filtered[parent].splice(idx, 1);
            else
                $scope.filtered[parent].push(option);

            if ($scope.filtered[parent].length <= 0)
                delete $scope.filtered[parent];
        }
    };

    $scope.applyFilters = function () {
        $scope.minp = jQuery("#min_price").val();
        $scope.maxp = jQuery("#max_price").val();


        $http.get(domain + "/get-filtered-products", {
            params: {
                'filters': $scope.filtered,
                'minp': $scope.minp,
                'maxp': $scope.maxp,
                'slug': $routeParams.url_key,
                'sort': jQuery("select.orderby").val(),
                'userId': (window.localStorage.getItem('id') != null ? window.localStorage.getItem('id') : "")

            }
        }).success(function (response) {
            $scope.products = response;
            $scope.pdts = response.data
            $scope.$digest;
            jQuery(".big-notification.yellow-notification").slideUp();
        });
    }

    $scope.sizeOf = function (obj) {
        return Object.keys(obj).length;
    };

    $scope.showFilters = function () {
        jQuery(".big-notification.yellow-notification").toggle("slideDown");
    }

    $scope.showOptions = function (e) {
        jQuery("#" + e).toggle();
    }

    $scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) {
        siteMainFn();
    });


});
app.controller('categoryController',函数($http、$scope、$location、$rootScope、$routeParams、$anchorScroll){
装载机();
$scope.filtered={};
$scope.minp=0;
$scope.maxp=0;
$scope.pdts={};
$http.get(domain+“/get category products/”+$routeParams.url\u key+(window.localStorage.getItem('id')!=null?”?userId=“+window.localStorage.getItem('id'):”){
缓存:真
}).success(函数(数据、状态、标题、配置){
$scope.products=数据;
$scope.pdts=data.data
$scope.filters=data.filters;
$scope.$digest;
loaderHide();
});
$scope.load=函数(事件,url){
angular.element(event.target).children(“i”).addClass(“fa旋转器fa脉冲”);
$http.get(url{
参数:{
“筛选器”:$scope.filtered,
“minp”:$scope.minp,
“maxp”:$scope.maxp,
“slug”:$routeParams.url\u键,
'sort':jQuery(“select.orderby”).val(),
“userId”:(window.localStorage.getItem('id')!=null?window.localStorage.getItem('id'):”“)
},
缓存:真
}).success(函数(数据、状态、标题、配置){
$scope.products=数据;
如果(data.data.length>0){
每个(数据、数据、函数(k、v){
$scope.pdts.push(v);
});
angular.element(event.target).children(“i”).removeClass(“fa旋转器fa脉冲”);
}否则{
元素(event.target).removeAttr(“ng单击”);
元素(event.target).text(“不再有产品”);
}
$scope.$digest;
loaderHide();
});
};
$scope.filterProds=函数(选项,父级){
如果(选项){
if(!(父项在$scope.filtered中))
$scope.filtered[parent]=[];
var idx=$scope.filtered[parent].indexOf(选项);
如果(idx>-1)
$scope.filtered[parent].splice(idx,1);
其他的
$scope.filtered[parent].push(选项);
if($scope.filtered[parent].length)