1

这个问题似乎有两个答案:

    $scope.cancel = ->
      location.reload()

或者:

    $scope.cancel = ->
      $route.reload()

第一个工作正常,但它是一个完整的 GET 并且似乎做了比需要更多的工作。第二个似乎根本不起作用——我可以看到它击中了重新加载方法并将updateRoute函数排队,this.$$asyncQueue.push(expr)但重新加载没有发生。我可以强制$route.reload工作吗?有没有更好的方法来实现这一点?

相关的 SO 帖子,但答案不起作用。

4

1 回答 1

2

你试过 $location.path(..) 吗? 角度$位置服务

 # this code handles the funky url that gets generated and keeps 
 #    the funk to a minimum
 # moment is a js library for dealing with time
 # typical url looks like: 
 # http://192.168.101.111:3001/#/admin/user/edit/M6E8WANLIAF%231376602267119
 # moment tag is after %23 and angular seems to deal with it just fine
    $scope.cancel = ->
      if (/#/.test($location.$$path))
        $location.path($location.$$path.replace(/#.*/, "##{moment()}"))
      else
        $location.path($location.$$path += "#" + moment());
于 2013-08-15T21:13:32.320 回答