5

我的应用程序上有此路由代码:

var app = angular.module('docFinder', [])

app.config(function($routeProvider){
    $routeProvider.
      when('/', 
      {            
        controller: docTable,
        templateUrl: 'partials/finder.html'
      }).
      when('bio/:finderId', 
      {          
        controller: bioCtrl,
        templateUrl: 'partials/bio.html'
      }).
      otherwise({redirectTo: '/'});
});

当我启动我的应用程序并转到 root 时,单击指向第二条路线的链接

一旦我到达那里,我点击浏览器上的后退按钮,它不会返回它只会刷新我当前的页面,关于这个问题的任何想法?

编辑:

解决方案

<tr ng-repeat="doc in providers" ng-mouseover="mouseOverDoc(doc)" ng-mouseleave="mouseLeave()">      
   <td><a href="#bio/{{doc.provider.Id}}"> {{doc.provider.FirstName}} </a></td>

</tr>
4

2 回答 2

8

在链接上使用#/。似乎是 Angular js 的错误。例如:

 <td><a href="#/bio/{{doc.provider.Id}}"> {{doc.provider.FirstName}} </a></td>
于 2013-06-13T09:12:15.170 回答
5

对我来说,这似乎不是一个错误。

AngularJS 为 $location 服务提供了两种配置模式来控制浏览器地址栏中 URL 的格式。

  1. Hashbang 模式 (#!)
  2. HTML5 模式

如果您使用 .将配置设置为 HTML5 模式,则可以解决此问题{ html5Mode: true }

于 2013-09-29T09:45:38.390 回答