angularJS通过$Location跳转页面,如何去掉后头的锚点#xxx?

有两个页面A,B,在用$location.path()跳转到B页面后,再通过同样的方法返回A页面,但是这时候A页面url多了一个锚点#item1,然后再一次跳转到B,此时#item1也跟着在url传过去了,这是什么原因,怎么解决,刚接触angular不久,求大神指导。

var params1 = {};
    params.gid = $scope.gid;
    params.openid = $scope.openid;
    params.pid = id;
    params.sign = 1;
    //跳转到B页
    $location.path("travel/update_page").search(params1);
    
//跳转回A页面
var params2 = {
    gid:$scope.gid,
    pid:$scope.pid,
    sign:$location.search().sign
};
$location.path("travel/edit_book").search(params2);//跳转到A页
//再刷新一下使锚点起作用(不知道有没有其他方式可以不用这样刷新,暂时先这样)
$location.url($location.url()+"#item"+$scope.sign);//这里新增的#item1

问题就在我再一次从A跳转到B页面的时候,由于前面从B返回A页面的url里多了#item1,
所以再一次跳转到B的时候,#item跟着到了B页面的url后头,按道理应该只有params1参数才对,求大牛指导解惑。

阅读 4.8k
1 个回答

为什么不用route做页面跳转?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题