Angularjs $location.path用于浏览器后退按钮

Angularjs $location.path用于浏览器后退按钮,angularjs,location,Angularjs,Location,嗨,我在非常类似的情况下像这个js小提琴链接 但我希望浏览器后退按钮在你浏览每个标签时都能正常工作。 这里是来自JS fiddle的另一个链接 这与浏览器后退按钮一起工作,但它是从ng类函数触发的,我想从ng click开始,它在IE8中也不工作。下面的代码我尝试了,但没有工作 $scope.currentTab = $location.path(tab.url); 有什么建议吗 更新-根据下面的一个答案。状态需要更改/更新。那么,为什么在ng类函数中单击“浏览器后退”按钮而不是在ng单击函数

嗨,我在非常类似的情况下像这个js小提琴链接 但我希望浏览器后退按钮在你浏览每个标签时都能正常工作。 这里是来自JS fiddle的另一个链接 这与浏览器后退按钮一起工作,但它是从ng类函数触发的,我想从ng click开始,它在IE8中也不工作。下面的代码我尝试了,但没有工作

$scope.currentTab = $location.path(tab.url);
有什么建议吗

更新-根据下面的一个答案。状态需要更改/更新。那么,为什么在ng类函数中单击“浏览器后退”按钮而不是在ng单击函数中单击“浏览器后退”按钮时,状态会发生变化呢

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

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

感谢

使“浏览器后退”按钮正常工作,您应该在选择选项卡时更改状态,如工作示例中所示

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

ng上调用此方法,单击
,更改浏览器url并设置$scope.currentTab值

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

因此,这应该可以从ng单击$scope.currentTab=$location.path(“#”+tab.url)开始工作;我将进行快速测试。$location.path(“#”+tab.url)setter不会返回任何值。。您应该手动分配它。。检查更新的答案