浏览器后退按钮的$ location.path

时间:2014-09-28 18:27:11

标签: angularjs location

嗨,我在非常类似的场景,比如这个js小提琴链接http://jsfiddle.net/jccrosby/eRGT8/light/ 但是当我浏览每个标签时,我希望浏览器后退按钮正常工作。 这是JS小提琴的另一个链接 http://jsfiddle.net/codef0rmer/uDPHL/ 它适用于浏览器后退按钮,但它是从ng-class函数触发的,我想从ng-click开始,它也不能在IE8中工作。在我尝试的代码下面,但它没有用。

$scope.currentTab = $location.path(tab.url);

任何建议

更新 - 根据以下一个答案。国家需要改变/更新。那么为什么当在ng-class函数上单击浏览器后退按钮而不是在ng-click函数中时状态正在改变

 $scope.navClass = function (page) {
    var currentRoute = $location.path().substring(1);
    return page === currentRoute ? 'active' : '';
};   

 $scope.navClick = function (page) {
     $scope.testURL = $location.path()
};       

由于

1 个答案:

答案 0 :(得分:0)

要使浏览器后退按钮起作用,您应该在选择选项卡时更改状态,如工作示例中所示。

在工作示例中,浏览器历史记录因href="#"而发生变化,但未从ngClass触发。这里,ng-class仅用于根据当前状态更改css类。

ng-click上调用此方法,更改浏览器网址并设置$ scope.currentTab值

$scope.changeUrl = function(url) {
  $location.path('#'+url); 
  $scope.currentTab = url;
}