0

サイトの新しいページへのリンクとしてmd-grid-tilesを使用しています。いくつかの文脈を与えるために、AngularJS 1アプリがあります。これは、ng-viewを使用する単一ページアプリケーションです。したがって、私のリンクはすべて#pageでフォーマットされています。すべてのタイルは、リンクと呼ばれる属性が与えられていると私は、この機能付属している:私のMD-グリッドタイル上のNG-クリック部に

$scope.direct = function(tile) { 
    $window.location.href = tile.link; 
} 

を:

<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変数の意志be '#newpagetogoto'

これは期待どおり機能しますが、このメソッドを使用して再ルーティングすると、戻るボタン機能はありません。私が新しいページに行った後に戻ると、新しいビューがリロードされ、私はホームページに戻ってこない。これを修正する方法はありますか?

<a>を使用して私のサイトの新しいビューにリンクすると、戻るボタンの機能は期待通りに機能しますが、$ window.location.hrefを使用した場合のみ、戻るボタンの機能が失われます。 <a>を使用しての

例:

<a href="#about" onclick="closeNav()">Our Purpose</a> 

任意およびすべてのヘルプは非常に高く評価され、事前に感謝!

EDIT: <a>を使用すると、実際に<a>リンクを使用してルーティングするとき、それはまた壊れる、戻るボタンの機能を保持しません。

あなたはルック$場所のドキュメント取る代わりに、$窓

$location.path(title.link) 

の$の場所を使用する必要があります

答えて

0
+0

私は、$ location.path(tile.link)を使用して試してみましたが、それはまだありません最後のビューには戻りません。 $ locationを使用すると、ロードされた最後のURLに戻るように強制されます。したがって、Googleから自分のサイトに移動して新しいビューを表示するリンクをクリックすると、クリックするとGoogleに戻るようになりますメインビューにはリンクがあります。助けてくれてありがとう、私はのグリッドタイルへのリンクを追加し、100%幅と高さにして、新しいビューをクリックして前のビューに戻ることができるようにした –