0

私の AngularJS アプリケーションには、次のルーティング メカニズムがあります。

$routeProvider.when('/questions', 
                    route.resolve('questions', 
                                  'questions/', 
                                  'questions', 
                                  'overview', 
                                   access.authorizedAccess))

domain.com/app/#/questionsこれは正しく機能し、正しいコントローラーとテンプレートをロードするように URL をヒットします。

私がやりたいことは、ページのリロードをトリガーせずに現在の URL にパラメーターを追加するオプションを用意することです (基本的には URL を再解釈します)。私が今抱えている問題はwindow.location.hash = '#/questions?query=test';、ルートを実行することで再解釈され、ページのリロードが発生することです。

私がやろうとしたことはこれでした:

$rootScope.$on("$locationChangeStart", function (event, next, current) {
   if (next.indexOf('?') > -1)
     event.preventDefault();
});

これは確かにルートの再解釈をトリガーしませんが、ハッシュからパラメーターを削除し、に戻します'/questions'

4

1 に答える 1