2017-10-10 1 views
0

J'essaie d'obtenir l'état précédent chaque fois que j'appuie sur le bouton de retour. En inspection, j'ai pu voir que la fonction popstate est appelée pour le bouton d'avance également. Il ne revient pas à l'état précédent bien que la fonction popstate soit exécutée. Je ne pouvais pas comprendre comment coordonner les événements correctement, car je suis nouveau dans le développement frontend. Merci d'avance !!!L'historique.popstate ne fonctionne pas et est appelé pour les boutons avant et arrière dans le navigateur

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script> 
<script src="aid.js"> </script> 
</head> 
<body ng-app="myApp" ng-controller="myCtrl"> 
<div id="one" ng-hide="val_1">{{val_1}} ONE </div> 
<div id="two" ng-show="val_2">{{val_2}} TWO </div> 
<button id="but" ng-click=myfun()> pressme </button> 
</body> 
</html> 

aid.js

//the js code 
var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
    $scope.val_2 = false; 
    $scope.val_1 = false; 
    $scope.myfun = function() { 
     $scope.val_1 = true; 
     $scope.val_2 = true; 
     history.pushState("","","new"); 
    } 
    window.addEventListener('popstate',function() 
    { 
    $scope.val_2 = false; 
    $scope.val_1 = false; 
    }); 
}); 

Répondre