2013-09-23 5 views
9

私はngViewに3つのngIncludedビューを持っています:検索フィルター、製品、ページネーション。私がしたい:reloadOnSearch:falseのときの戻るボタン

  1. フィルタ製品は、ページ全体をリロードせずに、単に製品が
  2. は、URLなどにフィルタを追加表示します。 ?category=shoes
  3. バックを使用することができ、次のボタン
  4. 私は $routeProvier.whenreloadOnSearch: falseを設定

。今私は$location.search()関数のURLの変更を呼び出すが、ページがリロードされません。これは私が達成したいことですが、戻るボタンをクリックすると、製品は以前の状態にリロードされません。起こる唯一の事はURLの変更です。問題は、この状況で戻るボタンイベントと次のボタンイベントをどのように処理できますか?

答えて

11

reloadOnSearch:falseを実行した場合、コントローラの同じインスタンスが使用され、バック・フォワードはコントローラまたは関連ビューをリロードしません。このようなシナリオで発生するイベント$routeUpdateに応答する必要があります。 $ route documentationを参照してください。

$scope.$on('$routeUpdate',function(e) { 
    // Code to handle the route change. 
}); 
0

すべてを手動で処理する必要があります。これは、戻るボタンまたは次のボタンを押すと、$場所を使用している状態に戻る必要があることを意味します。

関連する問題