223


AngularJSでルーティングを行うSPAを作成した場合、戻るボタンを押すと１つ前のページに戻りますが、 ページ自体は再度リロードされます。

そのため、前のページの表示位置に戻らず、またデータのリロードが発生してしいます。

AngularJSで戻るボタンを押した場合に、SPAではない通常のアプリケーションと同様に、
前のページをリロードせずに、元のスクロール位置に戻るにはどのようにすればよろしいでしょうか？


CC BY-SA 3.0
2014-11-26T04:18:32.127
195
2014-12-02T02:43:51.010
2014-11-26T07:15:34.790
10
63
question
javascript angularjs
AngularJSで戻るボタンを押した場合に、ページをリロードせずに元のページの元の場所に戻る方法


scroll位置についてはscrollイベントで位置を記録しておいて戻ったタイミングで復元する方法があります。以下の回答が参考になります。

<https://stackoverflow.com/questions/14107531/retain-scroll-position-on-route-
change-in-angularjs#16198496>

$http.getが再度実行される件はcacheを有効にすれば解決すると思われます。

[code]

    $http.get('phones/phones.json', { cache: true })
    
[/code]


CC BY-SA 3.0
2014-12-02T02:43:51.010
223
2014-12-02T02:43:51.010
2017-05-23T12:38:56.083
-1
352
195
answer