【发布时间】:2017-03-07 14:27:19
【问题描述】:
我使用 md-grid-tiles 作为网站上新页面的链接。为了提供一些上下文,我有一个 AngularJS 1 应用程序,它是一个使用 ng-view 的单页应用程序。所以我的链接都是用#page格式化的。每个图块都有一个名为 link 的属性,我附上了这个函数:
$scope.direct = function(tile) {
$window.location.href = tile.link;
}
到我的 md-grid-tile 上的 ng-click 部分:
<md-grid-tile ng-repeat="tile in vm.tiles track by $index"
md-rowspan="{{tile.span.row}}"
md-colspan="{{tile.span.col}}"
md-colspan-sm="1"
md-colspan-xs="1"
ng-class="tile.background"
ng-click="direct(tile)">
tile.link 变量将是 '#newpagetogoto'
这按预期工作,但在我使用此方法重新路由后,后退按钮功能不存在。当我在进入新页面后按下返回时,它只会重新加载该新视图并且不会让我回到主页。有没有办法解决这个问题?
如果我使用<a> 链接到我网站的新视图,则后退按钮功能按预期工作,但只有当我使用 $window.location.href 时,它才会破坏后退按钮功能。
<a>使用示例:
<a href="#about" onclick="closeNav()">Our Purpose</a>
非常感谢任何和所有帮助,在此先感谢!
编辑:
使用<a> 实际上并没有保留后退按钮功能,使用<a> 链接进行路由时也会中断。
【问题讨论】:
标签: javascript angularjs angularjs-scope angular-material angularjs-ng-route