繁体   English   中英

$ window.history.back在Angularjs中不起作用

[英]$window.history.back does not work in Angularjs

我在这里借用一个示例来实现“后退”按钮:

如何在angular.js中实现history.back()

我这样做的方法是创建一个函数back()

http://jsfiddle.net/qhoc/WaRKv/110/

app.controller('Ctrl', ['$scope', '$window', '$location', function($scope, $window, $location) {

  $scope.log = function() {
    console.log($location.path());
  };

  $scope.back = function() {
    $window.history.back();
    console.log($location.path());
  };

}]);

但这是行不通的。 已命中事件,但控制台日志中的位置输出未更改。

请帮忙

更新12/28:

我运行http://jsfiddle.net/WaRKv/111/并执行以下操作:

  1. 单击一次链接1
  2. 单击一次链接2
  3. 然后,最后一次单击“返回”。

请看下面的截图。 它仍然无法正常工作,因为“后退”按钮应记录链接1,但它始终显示链接2。

在此处输入图片说明

登录到控制台之前,您必须侦听$ locationChangeSuccess事件。

 $scope.$on("$locationChangeSuccess",function(event,newUrl, oldUrl) {
        console.log("location: "+$location.path());
    });

您记录位置更改完成之前。

看到:

http://jsfiddle.net/WaRKv/111/

不幸的是,该事件以某种方式重新播放了两次,我不知道为什么,后退按钮也无法正常工作:/也许是jsfiddle问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM