嗨,我的场景非常相似,比如这个js fiddle链接http://jsfiddle.net/jccrosby/eRGT8/light/但我希望浏览器的后退按钮在你浏览每个选项卡时都能正常工作。这是JS fiddle的另一个链接http://jsfiddle.net/codef0rmer/uDPHL/它可以使用浏览器返回按钮,但它是由ng类函数触发的,我想通过ng点击来完成,它在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-click
上调用此方法,它会更改浏览器url并设置$scope.currentTab值
$scope.changeUrl = function(url) {
$location.path('#'+url);
$scope.currentTab = url;
}