我在我的应用上有这个路由代码:
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>
答案 0 :(得分:8)
在链接上使用#/。它似乎是角js上的bug。 例如:
<td><a href="#/bio/{{doc.provider.Id}}"> {{doc.provider.FirstName}} </a></td>
答案 1 :(得分:5)
这似乎不是我的错误。
AngularJS为$ location服务提供了两种配置模式,用于控制浏览器地址栏中URL的格式。
如果将配置设置为HTML5模式,则可以解决此问题
使用{ html5Mode: true }
。