0

在我的 AngularJS 应用程序中,我有以下路由机制:

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

这可以正常工作,点击一个 URL,比如domain.com/app/#/questions加载正确的控制器和模板。

我想要做的是可以选择在不触发页面重新加载的情况下向当前 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

2

reloadOnSearch:false您可以在初始化路由期间尝试该选项吗$routeProvider请参阅此处的文档

于 2013-09-04T09:14:06.060 回答